1

順序付きマップの実装に最適なライブラリはどれですか?

実装が必要です

1) ジェネリック

2) 整数インデックスでアクセス可能

JRE の 1 つはインデックスでアクセスできません: http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html

Commons-Collections 3.2 の 1 つは一般的ではありません: http://commons.apache.org/proper/commons-collections//javadocs/api-release/org/apache/commons/collections/map/LinkedMap.html

Commons-Collection 4.0 の 1 つはまだリリースされていません。

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 に答える