1. HashMap 是无序集合
Mapmaps= new HashMap<>(); maps.put(9,11); maps.put(10,23); maps.put(11,78); //遍历方式 /* Key = 9, Value = 11 Key = 10, Value = 23 Key = 11, Value = 78 */ for (Map.Entry entry : maps.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); }
2. LinkedHashMap 是有序集合 可以通过LinkedHashMap的keySet方法遍历
LinkedHashMapmaps= new LinkedHashMap<>(); maps.put(9,11); maps.put(10,23); maps.put(11,78); //遍历方式 获取map中key-value Set > entrySet = maps.entrySet(); //通过迭代器遍历set集合 Iterator > iterator = entrySet.iterator(); while(iterator.hasNext()){ //每次获取一条对应关系 Map.Entry entry = iterator.next(); System.out.println("key="+entry.getKey()+" value="+entry.getValue()); }
3. set集合存放不重复的元素
Setset = new HashSet (); set.add("jack"); set.add("jack"); set.add("bob"); set.add("selena"); //增强for循环遍历 for (String name : set){ System.out.println(name); }
4. guava中的Multimap,特点可以包含有几个重复Key的value
eg:其中的一个 HashMultimap
//存储数据结构 {key1=[a1,a2],key2=[b1,b2]} HashMultimapmap = HashMultimap.create(); map.put("jack",20); map.put("jack",12); map.put("bob",23); map.put("bob",34); map.put("selena",29); //{selena=[29], bob=[34, 23], jack=[20, 12]} System.out.println(map.toString()); //通过key获取value [20, 12] System.out.println(map.get("jack"));