숫자(Integer, Double) 타입일 경우에 값으로 정렬
문자열(String) 타입일 경우에는 유니코드로 정렬
=> java.lang.Comparable 구현 객체가 아닌 경우
직접 Comparable인터페이스를 implement하고 오버라이딩해줘야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
public class TreeSetExample {
public static void main(String[] args) {
//1. TreeSet 객체 생성
TreeSet<Integer> scores = new TreeSet<>();
//2. 새로운 요소를 추가 : Auto-Boxing을 이용한 자동 Integer 객체 생성
scores.add(87);
scores.add(98);
scores.add(75);
scores.add(95);
scores.add(80);
//3. TreeSet 안에 구성된 이진트리를 탐색하는 메소드의 활용
Integer score = null;
score = scores.first(); //first : 가장 작은 값을 반환
log.info("가장 작은 값을 반환 : " + score);
score = scores.last(); //last : 가장 큰 값을 반환
log.info("가장 zms 값을 반환 : " + score);
score = scores.lower(95); //lower : 지정된 값보다 작은 바로 아래의 하나의 값을 반환( < )
log.info("95점 아래 점수 : " + score);
score = scores.higher(95); //higher : 지정된 값보다 큰 바로 위의 하나의 값을 반환( > )
log.info("95점 위의 점수 : " + score);
score = scores.floor(95); //floor : 지정된 값이거나 작은 바로 아래 하나의 값을 반환( <= )
log.info("95점이거나 바로 아래 점수 : " + score);
score = scores.ceiling(85); //ceiling : 지정된 값이거나 바로 위의 하나의 값을 반환( >= )
log.info("85점이거나 바로 위의 점수 : " + score);
while(scores.isEmpty()) {
score = scores.pollFirst(); //pollFirst : first()와 비슷하되, 노드까지 삭제
log.info("남은 객체 수 : " + scores.size());
} //while
} //main
} //end class
|
cs |
1
2
3
4
5
6
7
|
Iterator<Set객체 타입> iterator = Set객체 참조변수.iterator();
while(iterator.hasNext()) {
Set객체타입 변수 = iterator.next();
} //while
|
cs |
JAVA 14-4. LIFO와 FIFO 컬렉션 (0) | 2021.07.08 |
---|---|
JAVA 14-3. 컬렉션 프레임워크 - Map컬렉션 (0) | 2021.07.08 |
JAVA 14-1. 컬렉션 프레임워크 - List 컬렉션 (0) | 2021.07.04 |
JAVA 13-3. 람다식 - 디폴트 메소드 (0) | 2021.07.01 |
JAVA 13-2. 람다식 - 표준 API의 함수적 인터페이스 (0) | 2021.06.29 |