HashMap相关
HashMap
Map
Map中的数据是以键值对( key-value )的形式存储的。
key-value以Entry类型的对象实例存在。
可以通过key值快速地查找value。
一个映射不能包含重复的键。也就是说key的值必须为1,一个value可以对应多个key的值。
HashMap
-
基于哈希表的Map接口的实现。是Map的实现类。
-
允许使用null值和null键。
-
key值不允许重复。
-
HashMap中的Entry对象是无序排列的。
例题1:使用HashMap编写一个字典
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public class Map01例题 { public static void main(String[] args) { Map<String,String> animal=new HashMap<String,String>(); System.out.println("请输入三组单词对应的注释,并存放到HashMap中"); Scanner console = new Scanner(System.in); //添加数据 int i = 0; while(i<3){ System.out.println("请输入key值:"); String key = console.next(); System.out.println("请输入value值:"); String value = console.next(); animal.put(key,value); i++; } System.out.println("======="); //打印输出value的值(直接使用迭代器) System.out.println("使用迭代器输出所有value的值:"); Iterator<String> it= animal.values().iterator(); while(it.hasNext()){ System.out.print(it.next()+" "); } System.out.println(); System.out.println("======="); System.out.println("通过entrySet方法得到Key-Value:"); Set<Map.Entry<String,String>> entrySet=animal.entrySet(); for(Map.Entry<String,String> entry:entrySet){ System.out.print(entry.getKey()+"-"); System.out.println(entry.getValue()); } }
|
例题2:对字典进行查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| System.out.println("请输入要查找的(key)"); //使用keySet方法 String strSearch=console.next();
//1.取得keySet Set<String> keySet=animal.keySet();
//2.遍历KeySet for(String key:keySet){ if(strSearch.equals(key)){ System.out.println("找到了!键值对的值为:"+key+"-"+animal.get(key)); break; } }
|