Java:散列表(Hash)

可以将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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值