순서 상관 없는 경우
빠른 look up 필요한 경우
중복된 값 관련 처리하는 경우
유용하게 사용할 수 있다.
Set 종류
HashSet
대표적인 Set 사용 방식
Hash 알고리즘을 기반으로 동작함
key값을 hash function을 거쳐 hash값으로 변경 후
hash값에 맞는 bucket에 저장하여 관리한다.
이러한 알고리즘 때문에
순서 x, 중복 x, 특정값 포함 확인 빠름 (Fast Lookup)
TreeSet
balance binary search tree인
Red-Black Tree를 기반으로 구성된다.
간단히 말해서 값이 한쪽으로 치우쳐지지 않는 Tree 사용한다는 말
Red-Black Tree 특성때문에 추가/삭제할 경우 추가작업이 들어가기 때문에
링크드 리스트보다 비효율적이지만,
검색/정렬은 TreeSet이 더 좋다.
출처 : 레드-블랙 트리 - 위키백과
중복 데이터 저장 X
순서 보장 X
단, 오름차순으로 데이터를 정렬함
LinkedSet
HashSet에서 순서가 보장되지 않는 단점을 보완하기 위해 사용
데이터가 들어온 순서대로 저장하고 관리한다.
중복데이터 저장 X