插入重复键,值对并在java中获取它们的插入顺序的最佳方法是什么

时间:2014-01-26 20:07:50

标签: java collections guava

我想插入重复的键,值并希望以插入顺序获取它们在java集合中这是什么最好的解决方案?

4 个答案:

答案 0 :(得分:6)

任何List都会保留广告订单,而且它们都允许重复的元素。

  

有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。

在标准Java中没有具有这些属性的key-value结构,但是Guava的LinkedListMultiMap可能具有您正在寻找的内容。

  

ListMultimap的一个实现,它支持键和值的确定性迭代顺序。迭代顺序保留在非不同的键值上。

答案 1 :(得分:0)

答案 2 :(得分:0)

只需创建一个这样的辅助类:

class KeyValuePair {
    public final Foo key;
    public final Bar value;

    public KeyValuePair(Foo key, Bar value) {
        this.key = key; this.value = value;
    }
}

并将其添加到您喜欢的任何列表中。

答案 3 :(得分:0)

“从键到多个值的多地图映射”

正如Keppil所说,你想要LinkedListMultimap。

正如我所建议你可以尝试ImmutableListMultimap然后调用createValues来迭代这些值(immutable * collection总是得到更好的性能)