HashMap:作为Map的主要实现类:线程不安全的,效率高,可以存储null的key和value
子类:LinkedHashMap:保证在遍历Map元素时,可以按照添加的顺序实现遍历。原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素。 对于频繁的遍历操作,此类的执行效率高于HashMap
TreeMap:保证按照添加的key-value进行排序,实现排序遍历。(按照key排序,key的自然排序和定制排序)底层使用红黑树。
Hashtable:作为Map的古老实现类:线程安全,效率低,不能存储null的key和value
子类:Properties:常用来处理配置文件。key和value都是String类型
比较常用的有HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap。在不需要排序的场景优先使用HashMap,是最好的Map实现,如果要保证线程安全可以使用ConcurrentHashMap。
需要排序的场景,按照插入顺序排序可以使用LinkedHashMap,按照key排序可以选择TreeMap。保证线程安全可以用collection类包装