기본 문법/[JAVA]

[JAVA] Set - TreeSet

바켱서 2020. 6. 16. 22:58

TreeSet은 Set Interface를 구현한 컬렉션

  • 중복된 요소를 저장하지 않는다.
  • 저장순서를 유지 않는다.
  • 자체적인 저장방식에 따라 순서가 결정이 된다.

TreeSet이란?

  이진 검색 트리 ( Binary search tree ) 라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이다.

  이진 검색 트리의 성능을 향상시킨 레드-블랙 트리(Red-Black Tree) 로 구현이 되있다.

 

이진 트리란?

[그림 1.] 이진 트리

여러 개의 노드가 서로 연결된 구조로, 각 노드에 최대 2개의 노드를 연결 할 수 있는.. 

부모 - 자식 관계는 상대적인 것이며 하나의 부모 노드는 최대 두 개의 자식 노드와 연결될 수 있다.

이 상대적인 것은 Comparable을 구현하거나 Comparator를 제공해서 두 노드를 비교할 방법을 알려줘야한다.

 

TreeSet 메서드

메서드 설명
boolean add(Object o)
boolean addAll(Collection c)
객체 또는 Collection 를 추가
Object ceiling(Object o) 지정된 객체와 같은 객체를 반환. 없으면 큰 값을 가진 객체 중 가까운 값 객체
Object floor(Obeject o) 정된 객체와 같은 객체를 반환. 없으면 작은 값을 가진 객체 중 가까운 값 객체
boolean contains(Object o)
boolean containsAll(Collection c)
지정된 객체 또는 컬렉션의 객체들이 포함되어있는지 확인
NavigableSet descendingSet() TreeSet에 저장된 요소들을 역순으로 정렬 후 반환
SortedSet headSet(Object toElement) 지정된 객체보다 작은 값의 객체들을 반환
SortedSet tailSet(Object fromElement) 지정된 객체보다 큰 값의 객체들을 반환
Object higher OR lower(object o) 지정된 객체보다 큰 or 작은 객체 중 제일 가까운 값의 객체 반환
SortedSet subSet
(Object from,Object to)
범위 검색 from~to 사이의 결과를 반환한다.