1

정렬 된 맵 구현에서 가장 우수한 라이브러리는 무엇입니까?정렬 된 일반지도 구현?

구현은 할 필요가있다

1) 일반적인 정수 인덱스 액세스

2)

JRE에서

하나는 인덱스에 액세스 할 수 없습니다 : Commons-에서 http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html

하나 컬렉션 3.2는 일반적인 것이 아닙니다. http://commons.apache.org/proper/commons-collections//javadocs/api-release/org/apache/commons/collections/map/LinkedMap.html

1 개는 Commons-Collection 4.0에서 가져온 것이 아닙니다. 아직 공개되지 않았다.

구아바에서 적절한 클래스를 찾을 수 없습니다. 하나 있습니까?

+0

을 주문? 자연 질서? 주문 주문? – assylias

+0

링크 된지도가 색인으로 검색 할 때 O (N) 성능을 제공한다는 것을 알고 있습니까? 반복기를 걷는 것만으로도 동일한 성능을 얻을 수 있습니다. – parsifal

+0

해결하려는 실제 문제를 설명하면 더 나은 해결책이 있음을 알 수 있습니다. – parsifal

답변

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