2013-05-13 2 views
2

String을 많이 저장하려면 Java구조체을 만들어야합니다. 그럼 난 기본적으로 새로운 문자열을 추가하고 또한 일부 문자열이 이미 있는지 확인해야합니다 ... 문자열의 순서가 중요하지 않습니다.Java : 많은 수의 문자열을 저장하고 검색하는 가장 빠른 구조

많은 Java 데이터 유형을 모르지만 일반적으로 List, SetMap이므로이 시나리오에서 가장 빠른 데이터 유형은 무엇입니까? TreeSet이되었거나 내가 누락 된 다른 것이 있습니까?

+2

해싱은 일반적으로 매우 빠릅니다. –

답변

6

필요한 액세스 유형에 따라 다릅니다.

  • 연속 : LinkedList<String>
  • 랜덤 : 존재 ArrayList<String>
  • 검사 : HashSet<String> 존재
  • 검사 (이것은 당신이 당신의 REQS에 따라 찾고있는 하나입니다) 및 탐색 분류 : TreeSet<String>
+0

감사합니다 @ 잭, 사실, 나는 어떤 종류의 정렬이 필요하지 않으므로, 나는'HashSet'에 갈 것이라고 생각합니다 ... – MikO

+1

@MikO : HashSet은 많은 양의 데이터를 가지고 있다면 좋다. 데이터 양이 적 으면 해시 함수를 계산하는 비용이 약간의 비용을 추가하지만 가능성이 높습니다. –

관련 문제