Map集合常用API
一.其他map
1.1 针对map的三种遍历方式
//1. key-->set--->KeySet
for (char key: map.keySet()) {
System.out.println(key+":"+map.get(key));
}
//2. value
Collection<Integer> values=map.values();
for (Integer v:values) {
System.out.println(v);
}
//3. Entry
for (Map.Entry<Character,Integer> pair : map.entrySet()) {
System.out.println(pair.getKey()+":"+pair.getValue());
}
1.2 LinkedHashMap
按照存放时候的顺序排序
1.3 getOrDefault()
map.put('a',1);
map.put('b',2);
map.put('c',3);
//如果存在c则获得3,如果不存在d则获得默认值100
map.getOrDefault('c',100); //3
map.getOrDefault('d',100); //100
1.4 putIfAbsent()
map.put('a',1);
map.put('b',2);
map.put('c',3);
map.putIfAbsent('c',100); //如果存在c,就不会更改c的值,如果没有c,则c为100
map.putIfAbsent('d',100); //100
1.5 merge()
map.merge('b',20,Integer::sum); //如果b在,则和value值完成一个sum的运算
1.6 ConcurrentHashMap
解决并发问题时使用