【问题标题】:Map implementation that keeps entries in the order of addition将条目按添加顺序保存的映射实现
【发布时间】:2013-07-24 19:27:40
【问题描述】:

我需要一个键值对数据结构,它保证按添加顺序检索条目,就像 ArrayListVector 仅用于单个条目。将其视为启用键值对的 ArrayList。请记住,TreeMap 不会这样做,因为排序不是按键的值而是按插入时间进行的。是否有满足这些要求的 Java 集合?我浏览了不同的 Map 实现,但找不到任何匹配项。

我知道我可以定义我的类,它接受键和值并将其放入 ArrayList 中,但这只是上述类的选项 B。

【问题讨论】:

    标签: java collections


    【解决方案1】:

    您在寻找LinkedHashMap 吗?

    Map 接口的哈希表和链表实现,具有可预测的迭代顺序。

    如果适合您的目的,您也可以查看Guava's ImmutableMap

    具有可靠的用户指定迭代顺序的不可变的、基于散列的 Map。不允许空键或空值。

    【讨论】:

      【解决方案2】:

      我需要一个键值对数据结构,它可以保证按照添加顺序检索条目,

      LinkedHashMap

      Map接口的哈希表和链表实现,迭代顺序可预测。

      【讨论】:

        【解决方案3】:

        使用java.util.LinkedHashMapJavadocs here

        “这个链表定义了迭代顺序,通常是key插入map的顺序(insertion-order)”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-23
          • 1970-01-01
          • 2018-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-01
          相关资源
          最近更新 更多