Map:分为HashMap、LinkedHashMap、HashTable、ConcurrentHashMap、TreeMap
HashMap:底层数据结构是哈希表,线程不安全。键的唯一性需要key覆写hashCode()、equals()
LinkedHashMap:底层数据结构是哈希表和链表,保持存入与读取的顺序一致性。
HashTable:底层数据结构是哈希表,线程安全。效率低,整个方法都加锁。
ConcurrentHashMap:线程安全,比HashTable效率高。对Entry数组分段,每段加锁,不同段同步操作不影响。
TreeMap:底层数据结构是红黑树,key的排序需要使用Comparable和Comparator