哪个库最适合有序地图实施?
要求实施
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中的一个尚未发布。
在番石榴中找不到合适的课程。有吗?
答案 0 :(得分: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);