[Java] Collections - TreeSet

케니스·2021년 8월 7일
0

Java Collections

목록 보기
2/3

이 글은 Java 자료구조 - Collection 의 구성 중 하나 입니다.

TreeSet이란

Set 인터페이스를 상속받아 구현한 클래스로 이진 탐색 트리를 의 자료구조 형태를 이용하여 데이터를 저장하고 저장된 값에 따라 정렬되는 컬렉션입니다.

TreeSet은 Set 인터페이스를 상속받고 있어 기본적으로 Set 의 특징을 가지고 있습니다.

  • 중복을 허용하지 않음
  • 저장된 순서를 유지하지 않음

생성자와 메서드

생성자

  • TreeSet()
  • TreeSet(Comparator comparator)
  • TreeSet(Collection c)
  • TreeSet(SortedSet s)

메서드

메서드 : 반환타입설명
first() : Object정렬된 순서에 첫번째 요소 반환
last() : Object정렬된 순서에 마지막 요소 반환
ceiling(E e) : Object?파라미터와 같은 요소 반환
없을 시 가장 가까운 큰 값 혹은 null
floor(E e) : Object?파라미터와 같은 요소 반환
없을 시 가장 가까운 작은 값 혹은 null
higher(E e) : Object?파라미터보다 가까운 큰 값 반환
없을 시 null
lower(E e) : Object?파라미터보다 가까운 작은 값 반환
없을 시 null
subSet(E fromElement, E toElement)from 요소 부터 to 까지의 객체들을 반환
to 요소 제외
headSet(E toElement)파라미터보다 작은 값 반환
to 요소 제외
tailSet(E fromElement)파라미터보다 큰 값 반환
from 요소 포함

테스트

다음은 기본적인 메서드를 테스트 한 예시입니다.

@Test
fun testTreeSet() {
    val treeSet: TreeSet<Int> = TreeSet()

    treeSet.add(1)
    treeSet.add(4)
    treeSet.add(5)
    treeSet.add(7)

    println("First:" + treeSet.first())
    println("Last:" + treeSet.last())
    println("Ceiling:" + treeSet.ceiling(6))
    println("Floor:" + treeSet.floor(6))
    println("Higher:" + treeSet.higher(6))
    println("Lower:" + treeSet.lower(6))

    println("SubSet:" + treeSet.subSet(3, 6))
    println("HeadSet:" + treeSet.headSet(4))
    println("TailSet:" + treeSet.tailSet(5))
}

결과

First:1
Last:7
Ceiling:7
Floor:5
Higher:7
Lower:5
SubSet:[4, 5]
HeadSet:[1]
TailSet:[5, 7]
profile
노력하는 개발자입니다.

0개의 댓글