为什么要订购LinkedHashMap
?
如果它实现了Map
接口并扩展了AbstractMap
和HashMap
,
哪个提供订购功能?
答案 0 :(得分:0)
LinkedHashMap
是因为这是合同的一部分。请参阅http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html,例如“Map接口的哈希表和链接列表实现,具有可预测的迭代顺序。”。
它还说明了它与HashMap
的不同之处:“这个实现与HashMap的不同之处在于它维护了一个双向链表,它贯穿了所有条目。”
答案 1 :(得分:0)
Map接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表。此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序)。
因此,排序来自LinkedHashMap的实现,而非扩展java.util.AbstractMap<K,V>
或java.util.HashMap<K,V>