HashSet, LinkedHashSet, TreeSet의 특성과 차이

2021. 2. 10. 21:00Study

HashSet

- null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다.

- 객체(데이터)를 중복 저장할 수 없고, 순서를 보장하지 않습니다.

- 내부적으로 HashMap을 사용합니다.

 

TreeSet

- null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다.

- 객체(데이터)를 중복 저장할 수 없지만 오름차순으로 데이터를 정렬합니다.

- 내부적으로 TreeMap을 사용합니다.

 

LinkedHashSet

- null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다.

- 객체(데이터)를 중복 저장할 수 없지만 입력한 순서대로 데이터를 정렬합니다.

- 내부적으로 LinkedHashMap을 사용합니다.

 

시간 복잡도

HashSet > LinkedHashSet > TreeSet 순서로 성능의 차이를 보이며,

HashSet의 성능이 제일 좋습니다.

 

이미지 출처 : http://kwseo.github.io/2015/09/24/time-complexity-about-collections/