2011-11-22 4 views
4

성능상의 이유로 일부 코드를 GNU trove로 마이그레이션하려고합니다.GNU trove로 정수 정렬 된 집합

그러나 TreeSet의 기본 사용 사례 인 정렬 된 반복과 함께 빠른 업데이트와 조회가 필요한 TreeSet이 있습니다. 물론 내가 사용법을 살펴보고 HashSet으로 잘 살 수 있는지 확인합니다.

SortedSet에 대한 GNU Trove의 적절한 대체품은 무엇입니까?

감사합니다.

+0

@Gray : 귀하의 의견은 모두 가짜입니다. 이것은 전혀 관련이 없습니다. OP 질문을 이해하지 못했습니다. 이것은 귀하의 의견과 귀하의 답변에 모두 표시됩니다. –

+0

감사합니다. – Gray

답변

2

업데이트 : 나는 소스 포지에 Trove를에서 관련 기능 요청 발견 http://sourceforge.net/tracker/index.php?func=detail&aid=1631704&group_id=39235&atid=424685

것은 지금까지 SortedSet에있을하지 않는 것, 그리고 셋째, Trove의 이점은 여기에 적은 큰 것 같다 : 그것은 일부를 저장합니다 원시 타입을위한 메모리 (그리고 복싱을 피한다). 그러나 데이터의 알고리즘 구성은 같을 것이고, 여전히 엔트리 객체가 필요할 것이다.

업데이트 # 2 : 많은 사용 사례를 들어

은 - 당신의 쓰기 액세스 패턴에 따라 -, 당신은 단지 TIntArrayList를 사용하여 조회에 대한 binarySearch 방법을 사용하여 괜찮은 성능을 얻을 수 있어야합니다 (이

정렬 된 배열에 삽입하는 것은 O (n)이므로 배열을 많이 수정하고 각각을 쿼리 할 때이 옵션이 아닙니다. 그러나 변경 사항이 일괄 추가 인 경우 각 업데이트 후에 sort으로 전화하면 놀라운 성능을 얻을 수 있습니다.