TreeSet은 이진 탐색 트리를 이용한 Set이다. 저장할때 정렬하면서 저장을 하기 때문에 따로 정렬을 할 필요가 없다.
public static void main(String[] args) {
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("dance"); set.add("dZZZZ"); set.add("dzzzz"); set.add("elephant");
set.add("elevator"); set.add("fan"); set.add("flower"); set.add("disc");
System.out.println(set);
System.out.println("rage search : from " + from + " to " + to);
System.out.println("result1 : " + set.subSet(from,to));
System.out.println("result2 : " + set.subSet(from, to + "zzz"));
// [Car, abc, alien, bat, car, dZZZZ, dance, disc, dzzzz, elephant, elevator, fan, flower]
// rage search : from b to d
// result1 : [bat, car]
// result2 : [bat, car, dZZZZ, dance, disc]
}
result1은 b이상 b 미만의 값들을 가져오기때문에 bat, car 두개가 왔다.
result2는 d로 시작하는 단어까지 포함시키기 위해 zzz를 더해주었다. dzzz다음 단어가 없기 때문에 d로 시작하는 모든 단어들이 포함되어 출력될 것이다.
public static void main(String[] args) {
TreeSet set = new TreeSet();
int[] score = {80, 95, 50, 35, 45, 65, 10, 100};
for (int i = 0; i < score.length; i++) {
set.add(score[i]);
}
System.out.println("50보다 작은 값 : " +set.headSet(50));
System.out.println("50보다 큰 값 : "+ set.tailSet(50));
// 50보다 작은 값 : [10, 35, 45]
// 50보다 큰 값 : [50, 65, 80, 95, 100]
}
'자바' 카테고리의 다른 글
[자바] JVM 메모리 구조 (1) | 2023.01.29 |
---|---|
[자바] Map과 Iterator (0) | 2023.01.28 |
[자바] Iterator, ListIterator 개념 및 사용법 (0) | 2023.01.28 |
[자바] static 메모리 (0) | 2023.01.20 |
[자바] 기본형 매개변수와 참조형 매개변수 (객체지향) (0) | 2023.01.19 |