1. HashMap 是无序集合
Map maps= 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方法遍历
LinkedHashMap maps= 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集合存放不重复的元素
Set set = 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]}
HashMultimap map = 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"));