Map
常用的Map
- Hashtable : 底层是哈希表函数结构,不可以存入null键null值,该集合是线程同步的。
- TreeMap : 底层是二叉树数据结构,可以用于给map集合中的键进行排序,该集合线程不同步。
- HashMap : 底层是哈希表数据结构,允许使用null键和null值,该集合是不同步的,当添加元素,如果出现相同的键时,后添加的值会覆盖原来的值。
ConcurrentHashMap
- 是线程安全并且高效的HashMap , 在并发编程中经常可以看到它的使用。
- Hashtable线程安全,但是效率低下。
Map的遍历方法
public static void MapDemo1(){
for(Map.Entry<String, Integer> entry : map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
public static void MapDemo2(){
Collection<Integer> values = map.values() ;
for(Iterator<Integer> it = values.iterator() ; it.hasNext() ;){
Integer s = it.next();
System.out.println(s);
}
}