常用的有 HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap

对于不需要排序的场景,优先考虑HashMap, 它是性能最好的Map实现。

如果需要保证线程安全,可以使用ConcurrentHashMap。

它的性能好于Hashtable,因为它在put时采用分段锁/CAS的加锁机制,而不是像HashTable那样,无论是put还是get都做同步处理。

如果需要排序

如需要按插入顺序排序可以使用LinkedHashMap

如果需要将key按自动顺序排列,甚至自定义顺序排序,则可以选择TreeMap。

如果需要保证线程安全,则可以使用Collections工具类将上述实现类包装成线程安全的Map

Related Article

阱的解释