我知道它们之间的区别,并且我知道 LinkedHashMapLinkedHashSet 提供插入排序。我了解 LinkedHashMap extends HashMapLinkedHashSet extends HashSet

为什么我们不总是使用 LinkedHashMap 而不是 HashMap ,为什么我们不总是使用 LinkedHashSet 而不是 HashSet

最佳答案

保持插入顺序有其相关成本,包括需要更多内存和花费额外的 CPU 周期:

  • 你需要额外的内存来保存额外的链接,
  • 您需要额外的 CPU 周期来维护它。

  • 虽然渐近复杂度是一样的,但增加的便利不是免费的。如果不需要维护的插入订单,则不必“付费”,而是使用更轻量级的 HashSet<E>HashMap<K,V>

    关于java - LinkedHashMap 与 HashMap、LinkedHashSet 与 HashSet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24331502/

    10-11 19:25