**因为一直对HashMap的只是不很了解,所以在网上找学习视频的时候,看到翁凯教授的视频讲得清晰透彻,所以把视频中的代码照录在此,并加上了自己对代码的理解和注释。 希望对类似于我这样的初学者有帮助。
废话不多说,上代码:**
package cn.kgc2;
import java.util.HashMap;
import java.util.Scanner;
/**
* HashMap的认识和练习
* @author Stean
*
*/
public class Coin {
//HashMap的表达式Integer是int的包裹型
private HashMap<Integer,String> coinnames = new HashMap<Integer,String>();
//这是一个构造器
public Coin (){
coinnames.put(1, "penny");
coinnames.put(10, "dime");
coinnames.put(25, "quarter");
coinnames.put(50, "half-dollar");
//如果在同一位置输入另一个值,那么只会存在最终输入的值
coinnames.put(50, "五毛");
//输出HashMap里面总共有多少个值
System.out.println("===================================:" );
System.out.println(coinnames.keySet().size());
System.out.println("===================================:" );
//和ArrayList和HashSet一样 ,可以直接输出
System.out.println(coinnames);
System.out.println("===================================:" );
//当然也可以遍历直接输出
for(Integer k:coinnames.keySet())
{
String s = coinnames.get(k);
System.out.println(s);
}
}
public String getName(int amount) {
//查找之前,先知道输入的值在不在HashMap之中,如果不在,就返回一个提示
if(coinnames.containsKey(amount))
{
//得到输入数字对应的string类型的值
return coinnames.get(amount);
}else
{
return "NOT FOUND!!!!!!!";
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入你想查找的值所对应的数字:");
int amount = in.nextInt();
//创建对象
Coin coin = new Coin ();
System.out.println("===================================:" );
//得到键盘数的数字,然后交给name输出对应的String的值
String name = coin.getName(amount);
System.out.println("输入的值在HashMap中对应的是:" + name);
}
}
最终的输出结果是:
我输入的是25,对应输出的就是在HashMap中对应的quarter。如果我输入的不是HashMap中的值,比如我输入20,,就会输出一个"NOT FOUND!!!"。