🌱 오늘의 주제 : TreeSet
🌱 TreeSet
- 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]
'Java' 카테고리의 다른 글
Java - checked 예외, unchecked 예외 (0) | 2023.02.21 |
---|---|
Java - try - catch문 (0) | 2023.02.20 |
Java - Stack과 Queue (0) | 2023.02.09 |
Java - 내부 클래스(inner class) (0) | 2023.02.07 |
Java - HashMap (0) | 2023.02.04 |