Java:散列表(Hash)

Java:散列表(Hash),第1张

可以将HashMap(散列表)理解为Python中的字典,一个键对应一个值,键是唯一的,如果键重复,后输入的键对应的值会覆盖前面的值。

import java.util.HashMap;
import java.util.Scanner;

public class Main {
	private HashMap<Integer, String> coinnames = new HashMap<Integer, String>();	
	//必须Integer,int报错,容器中的数据必须为对象类型
	public  Main()
	{
		coinnames.put(1, "penny");				//存入一个键值对(python字典)
		coinnames.put(10, "dime");
		coinnames.put(25, "quarter");
		coinnames.put(50, "half-dolar");
		coinnames.put(50, "五毛");				//Hash中key是唯一的,key相同,后写入的值会将前面的值覆盖掉
		System.out.println(coinnames);
		//.keyset()可以理解为输出字典中的所有键	//.keyget().size()可以获得键值对的个数
		for(Integer k : coinnames.keySet())		
		{	//.get()必须有一个参数的(键),返回键对应的值。如果没有对应的值,返回null									
			String s = coinnames.get(k);
			System.out.println(s);				//遍历Hash表,可能麻烦了一点...
		}
	}
	public String getName(int amount)
	{
		return coinnames.get(amount);
	}
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int amount = in.nextInt();
		Main coin = new Main();
		String name = coin.getName(amount);
		System.out.println(name);
	}
}

结果:

50
{1=penny, 50=五毛, 25=quarter, 10=dime}
penny
五毛
quarter
dime
五毛

容器中只能存入对象类型,无法存入值类型(会报错),如果要用值类型(如int),可以使用对应的对象类型。

原始类型           封装类   
  boolean              Boolean   
  char                 Character   
  byte                 Byte   
  short                Short   
  int                  Integer   
  long                 Long   
  float                Float   
  double               Double

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/867905.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-12
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存