이 글은 Java 자료구조 - Collection 의 구성 중 하나 입니다.
Set 인터페이스를 상속받아 구현한 클래스로 이진 탐색 트리를 의 자료구조 형태를 이용하여 데이터를 저장하고 저장된 값에 따라 정렬되는 컬렉션입니다.
TreeSet은 Set 인터페이스를 상속받고 있어 기본적으로 Set 의 특징을 가지고 있습니다.
메서드 : 반환타입 | 설명 |
---|---|
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]