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中的一個不是尚未發佈。

無法在番石榴上找到合適的課程。有一個嗎?

+0

下令在插入順序?自然順序?自定義訂單? – assylias 2013-03-19 15:57:08

+0

你是否意識到任何鏈接的地圖都會爲你提供O(N)性能的索引檢索?通過簡單地遍歷迭代器即可獲得相同的性能。 – parsifal 2013-03-19 16:17:58

+0

如果您描述了您試圖解決的實際問題,則可能會發現有更好的解決方案。 – parsifal 2013-03-19 16:18:21

回答

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);