为什么要订购LinkedHashMap?

时间:2014-05-09 17:26:23

标签: java collections

为什么要订购LinkedHashMap? 如果它实现了Map接口并扩展了AbstractMapHashMap, 哪个提供订购功能?

2 个答案:

答案 0 :(得分:0)

订购

LinkedHashMap是因为这是合同的一部分。请参阅http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html,例如“Map接口的哈希表和链接列表实现,具有可预测的迭代顺序。”。

它还说明了它与HashMap的不同之处:“这个实现与HashMap的不同之处在于它维护了一个双向链表,它贯穿了所有条目。”

答案 1 :(得分:0)

来自LinkedHashMap

的文档
  

Map接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表。此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序)。

因此,排序来自LinkedHashMap的实现,而非扩展java.util.AbstractMap<K,V>java.util.HashMap<K,V>