HashSet
- 기본적인 SET
- 순서가 뒤죽박죽임
- HashSet은 Set 인터페이스의 구현 클래스입니다. 그렇기에 Set의 성질을 그대로 상속받습니다.
- Set은 객체를 중복해서 저장할 수 없고 하나의 null 값만 저장할 수 있습니다.
- 저장 순서가 유지되지 않습니다.
- 만약 요소의 저장 순서를 유지해야 한다면 JDK 1.4부터 제공하는 LinkedHashSet 클래스를 사용하면 됩니다.
- Set 인터페이스를 구현한 클래스로는 HashSet과 TreeSet이 있는데 HashSet의 경우 정렬을 해주지 않고 TreeSet의 경우 자동정렬을 해준다는 차이점이 있습니다. Set의 가장 큰 장점은 중복을 자동으로 제거해준다는 점입니다.
- 삽입 삭제 조회 시 0(1)을 기대할 수 있지만 해시충돌 같은 이슈로 더 늘어 날 수 있다.
- Null 저장이 가능
LinkedHashSet
- 삽입 순서대로 저장되어 있다.
TreeSet
- 원소들이 정렬되어 있다.
- HashSet과는 달리 TreeSet은 이진 탐색 트리(BinarySearchTree) 구조로 이루어져 있습니다.
- 이진 탐색 트리는 추가와 삭제에는 시간이 조금 더 걸리지만 정렬, 검색에 높은 성능을 보이는 자료구조입니다.
- null 저장이 불가능
'Problem Solving > 자바 문법' 카테고리의 다른 글
BinarySearch중 parametric search (0) | 2024.02.27 |
---|---|
자바 비트연산자 (1) | 2024.02.08 |
Collections 시간복잡도 정리 (1) | 2024.02.06 |
HashMap vs LinkedHashMap (0) | 2024.02.06 |
정렬 .sort() (1) | 2024.02.05 |