这三个类都实现了该
Map接口,并提供了几乎相同的功能。最重要的区别是通过条目进行迭代的顺序:
HashMap
绝对不保证迭代顺序。添加新元素时,它甚至可以(并将)完全改变。TreeMap
将根据密钥的“自然顺序”(根据其compareTo()
方法)(或外部提供的Comparator
)进行迭代。此外,它实现了SortedMap接口,该接口包含依赖于此排序顺序的方法。linkedHashMap
将按照条目放入地图的顺序进行迭代
“哈希表”是基于哈希的映射的通用名称。在Java API的上下文中,Hashtable
是从Java 1.1到集合框架存在之前的过时的类。不再使用它,因为它的API充满了重复功能的过时方法,并且其方法是同步的(这会降低性能,并且通常是无用的)。使用ConcurrentHashMap
而不是Hashtable
。



