TreeSet은 이진 탐색 트리(binary search tree)라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스.
이진 탐색 트리는 정렬, 검색, 범위검색에 높은 성능을 보이는 자료구조.
중복된 데이터의 저장을 허용하지 않으며, 정렬된 위치에 저장하므로 저장순서를 유지하지 않는다.
🌱 이진 탐색 트리(binary search tree)
모든 노드의 최대 두개의 자식노드를 가질 수 있다.
왼쪽 자식노드의 값은 부모노드의 값보다 작고 오른쪽 자식노드의 값은 부모노드의 값보다 커야한다.
노드의 추가 삭제에 시간이 걸린다.
검색과 정렬이 유리
중복되 값을 저장 못한다.
🌱 TreeSet의 메서드
🌱 TreeSet 코드
package TreeSet;
import java.util.TreeSet;
public class Ex11_14 {
public static void main(String[] args) {
// TreeSet
TreeSet set = new TreeSet();
String from = "b";
String to = "d";
set.add("abc");
set.add("alien");
set.add("bat");
set.add("car");
set.add("Car");
set.add("disc");
set.add("dance");
set.add("dZZZZ");
set.add("dzzzz");
set.add("elephant");
set.add("elevator");
set.add("fan");
set.add("flower");
System.out.println(set);
System.out.println("range search : from " + from+ " to " + to);
System.out.println("result1" + set.subSet(from, to)); // 끝에 글자 포함 안됨.
System.out.println("result2" + set.subSet(from, to + "zzz")); // zzz 글자 포함한 부분은 안나옴.
}
}
------
<결과>
[Car, abc, alien, bat, car, dZZZZ, dance, disc, dzzzz, elephant, elevator, fan, flower]
range search : from b to d
result1[bat, car]
result2[bat, car, dZZZZ, dance, disc]