본문으로 바로가기

07_TreeSet

category HighJava 2020. 9. 17. 11:10
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
46
47
48
49
50
package kr.or.ddit.basic;
 
import java.util.SortedSet;
import java.util.TreeSet;
 
/**
 * TreeSet 예제
 */
public class T07_SetTest {
    public static void main(String[] args) {
 
        // HashSet은 데이터에 순서가 없으나(등록되는 순서를 알지 못함)
        // TreeSet은 자동정렬 기능이 들어가 있다.
 
        TreeSet<String> ts = new TreeSet<String>();
 
        // 영어 대문자를 문자열로 변환하여 TreeSet에 저장하기
        for (char ch = 'Z'; ch >= 'A'; ch--) {
            String temp = String.valueOf(ch);
            ts.add(temp);
        }
        
        System.out.println("TreeSet 자료 : " + ts);
        
        // TreeSet에 저장된 자료 중 특정한 자료보다 작은 자료를 찾아서 SortedSet으로 반환하는 메서드가 있다.
        // => headSet(기준값) : 기본적으로 '기준값'은 포함시키지 않는다.
        // => headSet(기준값, 논리값) : 논리값이 true이면 '기준값' 포함.
        SortedSet<String> ss1 = ts.headSet("K");
        System.out.println("K 이전 자료 : " + ss1); // 기준값 미포함
        System.out.println("K 이전 자료(기준값 포함) : " +ts.headSet("K",true));
        
        //'기준값' 보다 큰 자료를 찾아 SortedSet으로 반환하는 메서드.
        // tailSet(기준값) : 기본적으로 '기준값'은 포함한다.
        // tailSet(기준값,논리값) : 논리값이 false면 '기준값' 포함하지않음.
        SortedSet<String> ss2 = ts.tailSet("K");
        System.out.println("K 이후 자료 : " + ss2); // 기준값 포함
        System.out.println("K 이후 자료(기준값 미포함) : " + ts.tailSet("K",false));
        
        // subSet(기준값1, 기준값2) : 기준값1~기준값2 사이의 값을 가져옴
        //                           ('기준값1'포함, '기준값2' 미포함)
        // subSet(기준값1, 논리값1, 기준값2, 논리값2) : 
        //    각 기준값을 포함할 지 여부를 설정한다.(논리값이 true이면 포함.)
        System.out.println("K(포함)부터 N(미포함)까지 : " + ts.subSet("K","N"));
        System.out.println("K(포함)부터 N(포함)까지 : " + ts.subSet("K",true , "N"false));
        System.out.println("K(미포함)부터 N(미포함)까지 : " + ts.subSet("K",false , "N"false));
        System.out.println("K(미포함)부터 N(포함)까지 : " + ts.subSet("K",false , "N"true));
    }
 
}
 
cs


'HighJava' 카테고리의 다른 글

09_Hash  (0) 2020.09.17
08_숫자야구  (0) 2020.09.17
06_로또번호추첨기  (0) 2020.09.17
05_Set  (1) 2020.09.17
04_학생성적관리  (3) 2020.09.17