Java ‐ 컬렉션 프레임워크(Set) - dnwls16071/Backend_Study_TIL GitHub Wiki
📚 HashSet, LinkedHashSet, TreeSet

- HashSet
- 구현 : 해시 자료 구조를 사용해서 요소를 저장한다.
- 순서 : 요소들은 특정한 순서 없이 저장된다.
- 시간 복잡도 : 주요 연산들은 평균적으로
O(1)
시간 복잡도를 가진다.
- 용도 : 데이터의 유일성만 중요하고 순서가 중요하지 않은 경우에 적합하다.

- LinkedHashSet
- 구현 : LinkedHashSet은 HashSet에 연결 리스트를 추가해서 요소들의 순서를 유지한다.
- 순서 : 요소들은 추가된 순서대로 유지된다.
- 시간 복잡도 : HashSet과 마찬가지로
O(1)
시간 복잡도를 가진다.
- 용도 : 데이터 유일성과 함께 삽입 순서를 유지해야 할 때 적합하다.
- 연결 링크를 유지해야 하기 때문에 HashSet보다 상대적으로 무겁다.

- TreeSet
- 구현 : TreeSet은 이진 탐색 트리를 개선한 레드-블랙 트리를 내부에서 사용한다.
- 순서 : 요소들은 정렬된 순서로 저장된다.
- 시간 복잡도 :
O(log N)
시간 복잡도를 가진다.
- 용도 : 데이터들은 정렬된 순서로 유지하면서 집합의 특성을 유지해야 할 때 사용한다.
