본문 바로가기

자료구조

[자료구조] Set - HashSet, TreeSet, LinkedSet

Set이란?

중복 데이터를 허용하지 않는 자료구조이다.

데이터들은 순서를 가지지 않는다. 따라서 Set에 추가한 데이터들을 그대로 출력해보면, 추가한 순서 그대로 출력이 되지 않는다.

 

자바에서 제공하는 Set 컬렉션은 HashSet, TreeSet, LinkedSet이 있다.

 

 

1. HashSet

데이터를 무작위로 해쉬 테이블에 저장한다.

HashSet은 Set 중 가장 많이 사용되는 클래스이다.

Set 중 성능이 가장 좋으며, 중복을 허용하지 않는다.

 

 

2. TreeSet

데이터를 이진 검색 트리의 형태로 저장한다.

따라서 데이터는 항상 정렬된 상태로 저장된다. (따라서 HashSet보다 성능이 낮다.)

기본적으로 오름차순으로 정렬이 되며 정렬 기준을 따로 정의할 수 있다.

 

 

3. LinkedSet

데이터를 입력한 순서대로 저장한다.

Set 중 성능이 가장 좋지 않다.

 

'자료구조' 카테고리의 다른 글

[자료구조] Deque  (0) 2019.07.05
[자료구조] 힙 (Heap)  (0) 2019.05.29