我知道它们之间的区别,并且我知道 LinkedHashMap
和 LinkedHashSet
提供插入排序。我了解 LinkedHashMap extends HashMap
和 LinkedHashSet extends HashSet
。
为什么我们不总是使用 LinkedHashMap
而不是 HashMap
,为什么我们不总是使用 LinkedHashSet
而不是 HashSet
?
最佳答案
保持插入顺序有其相关成本,包括需要更多内存和花费额外的 CPU 周期:
虽然渐近复杂度是一样的,但增加的便利不是免费的。如果不需要维护的插入订单,则不必“付费”,而是使用更轻量级的
HashSet<E>
和 HashMap<K,V>
。关于java - LinkedHashMap 与 HashMap、LinkedHashSet 与 HashSet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24331502/