我想插入重复的键,值并希望以插入顺序获取它们在java集合中这是什么最好的解决方案?
答案 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总是得到更好的性能)