ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바[JAVA] - treeSet(), headSet(), tailSet(), subSet()
    Java/자바의정석 2023. 3. 13. 16:36
    반응형

    treeSet()의 메서드기능

    SortedSet subSet(Object fromElement, Object toElement) 범위검색의 결과를 반환한다.(끝범위는 포함x)
    SortedSet headSet(Object toElement) 지정된 객체보다 작은 값의 객체들을 반환
    SortedSet tailSet(Object fromElement) 지정된 객체보다 큰 값의 객체들을 반환

    아래의 코드를 보며 한번 살펴보자. 해당 코드는 자바의정석 예제이다.

    import java.util.TreeSet;
    
    class Ex11_15 {
        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(new Integer(score[i]));
    
            System.out.println("50보다 작은 값 :" + set.headSet(new Integer(50)));
            System.out.println("50보다 큰 값 :"  + set.tailSet(new Integer(50)));
            System.out.println("40과 80사이의 값: "+ set.subSet(40,80));
        }
    }

    ============실행결과==============

    50보다 작은 값 :[10, 35, 45]
    50보다 큰 값 :[50, 65, 80, 95, 100]
    40과 80사이의 값: [45, 50, 65]


    set에 add()메서드를 통해 담는다면 탐색트리이기때문에

    [10, 35, 45, 50, 65, 80, 95, 100] 와같이 정렬이 되어나온다.

     

    headSet()

    System.out.println("50보다 작은 값 :" + set.headSet(new Integer(50)));

    headSet의 경우 지정된 객체(50)보다 작은 값들을 반환한다.

     

    tailSet()

    System.out.println("50보다 큰 값 :"  + set.tailSet(new Integer(50)));

    tailSet의 경우 지정된 객체(50)보다 큰 값들을 반환한다.

     

    subSet()

    System.out.println("40과 80사이의 값: "+ set.subSet(40,80));

    subSet의 경우 from~to 형식으로 40과 80사이의 값을 반환한다.

    to에 해당하는 80은 범위에서 제외

    반응형

    댓글

Designed by Tistory.