1

哪个库最适合有序地图实现?

实施必须是

1) 通用

2) 可通过整数索引访问

来自 JRE 的一个无法通过索引访问: http: //docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html

Commons-Collections 3.2 中的一个不是通用的:http ://commons.apache.org/proper/commons-collections//javadocs/api-release/org/apache/commons/collections/map/LinkedMap.html

Commons-Collection 4.0 中的一个尚未发布。

并且在 Guava 中找不到合适的课程。有吗?

4

1 回答 1

4

它可以通过ImmutableSortedMap(它是不可变的和零敌对的)来完成:

// use ImmutableSortedMap#copyOf or one of builders - naturalOrder or orderedBy
ImmutableSortedMap<K, V> map = ImmutableSortedMap.copyOf(origMap, comparator);
map.keySet().asList().get(index);

但是你想解决什么问题?在我看来,就像糟糕的代码气味......

编辑:

如果您想要插入顺序而不是使用比较器,只需使用ImmutableMap

ImmutableMap.copyOf(origMap).keySet().asList().get(index);
于 2013-03-19T15:58:46.113 回答