Set

비선형 구조로 객체를 관리할 수 있는 방법

  • 리스트 구조와 달리 대상 객체가 연속적이지 않음
  • 객체 중복 저장 불가
  • 요소를 인덱스로 식별 불가
  • 요소 검색 속도 매우 빠름

HashSet

해시 테이블 이용한 객체 관리

  • Set Interface 대표적 구현 클래스
  • 중복 비허용, 입력 순서 유지 않는 비선형 구조
    • null요소 1개 사용
    • 내부적으로 HashMap 사용
  • 요소가 되는 객체에 대해 hashCode()를 계산해 저장할 버킷 계산하고 equals()이용해 중복 여부 최종 결정
  • Read 잦을 때

TreeSet

Red-Black Tree 기반 비선형 구조

  • Update 잦을 때
  • 정렬된 순서로 요소 저장하며 null 요소 비허용
    • 요소 중복 비허용
  • Comparator 이용한 사용자 정의 정렬 지원
  • 대량의 데이터 다룰때는 HashSet이 유리