나는이 목록에서 자주 검색 할 수있는 정렬 된 목록 (사전 - 100,000 단어)과 많은 단어가 있습니다. 따라서 성능이 문제입니다. HashSet.contains (theWord) 또는 Collections.binarySearch (sortedList, theWord)는 매우 빠르다는 것을 알고 있습니다. 그러나 나는 실제로 전체 단어를 찾고 있지 않습니다.startsWith()와 같은 빠른 문자열 검색 equals()
내가 원하는 것은 "se"를 검색하고 모든 단어를 "se"로 시작한다고 가정 해 보겠습니다. Java 나 라이브러리에서 사용할 수있는 솔루션이 있습니까?
더 나은 예 : 정렬 된 목록에서
myWordList.subList ("AB"의 간격을 반환 // 다음 조작
List.subList (문자열 beginIndex의, 문자열에서 endIndex)에 대한 빠른 솔루션, "기원전");
참고 : 여기는 매우 비슷한 질문이지만 허용 된 대답은 만족스럽지 않습니다. Overriding HashSet's Contains Method
인기있는 라이브러리에서 제공하는 구현이 있습니까? –
이 사람? 그것이 아파치 코 몬즈 컬렉션과 구글 콜렉션에 기여했다고 주장하지만, ACC에 대한 간략한 설명은 Javadoc에서 나타나지 않았다. http://code.google.com/p/patricia-trie/ –
예. 정확히 내가 물어 보지 못한 이유입니다. –