Set
비선형 구조로 객체를 관리할 수 있는 방법
- 리스트 구조와 달리 대상 객체가 연속적이지 않음
- 객체 중복 저장 불가
- 요소를 인덱스로 식별 불가
- 요소 검색 속도 매우 빠름
HashSet
해시 테이블 이용한 객체 관리
- Set Interface 대표적 구현 클래스
- 중복 비허용, 입력 순서 유지 않는 비선형 구조
- null요소 1개 사용
- 내부적으로 HashMap 사용
- 요소가 되는 객체에 대해
hashCode()를 계산해 저장할 버킷 계산하고equals()이용해 중복 여부 최종 결정 - Read 잦을 때
TreeSet
Red-Black Tree 기반 비선형 구조
- Update 잦을 때
- 정렬된 순서로 요소 저장하며 null 요소 비허용
- 요소 중복 비허용
- Comparator 이용한 사용자 정의 정렬 지원
- 대량의 데이터 다룰때는 HashSet이 유리