ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA 20] 자바 가변 배열 ( Collection / 컬렉션) ② Set
    Language/Java 2018. 2. 12. 18:33
    반응형


    3. 특징

    2) Set

    (1) ' 순서 ' 가 보존되지 않는다.

    (2) ' 중복 ' 이 허용되지 않는다.

    ex) 수학에서의 집합


    ① Generic

    ② Enhanced Loop ( 강화된 반복분 )

    ③ Boxing ( AutoBoxing / UnBoxing )



    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
    import java.util.*;
     
    class SetS1{    // Set Study 1
     
        TreeSet ts = new TreeSet();
     
        void in(){
            ts.add("봄");
            ts.add("여름");
            ts.add("가을");
            ts.add("겨울");
            ts.add("여름");
        }
     
        void out1(){
            Iterator iter = ts.iterator();                // 오름차순
            while(iter.hasNext()){
                Object obj = iter.next();
                String season = (String)obj;
                System.out.println("1. season : " + season);
            }
        }
     
        void out2(){
            Iterator iter = ts.descendingIterator();    // 내림차순
            while(iter.hasNext()){
                Object obj = iter.next();
                String season = (String)obj;
                System.out.println("2. season : " + season);
            }
        }
     
        public static void main(String[] args){
            SetS1 ss1 = new SetS1();
            ss1.in();
            ss1.out1();
            System.out.println("");
            ss1.out2();
        }
    }
    cs


    여기서 

    특징적인 것

    1) ' 순서 ' 가 보존되지 않고 , 

    1. 오름차순 

    2. 내림차순 

    으로 정렬을 시킬 수 있다는 것이다.


    2) 그리고 중복이 허용되지 않는다

    최근에 입력된 데이터가 이전에 입력된 데이터를 덮어 씐다.



    ① Generic

    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
    import java.util.*;
     
    class SetS2{
     
        TreeSet<String> ts = new TreeSet<String>();    // Generic (jdk 5.0 이상)
     
        void in(){
            ts.add("봄");
            ts.add("여름");
            ts.add("가을");
            ts.add("겨울");
            ts.add("여름");
        }
     
        void out(){
            Iterator<String> iter = ts.iterator();    // 오름차순
            while(iter.hasNext()){
                /*  Object obj = iter.next();        // Generic
                    String season = (String)obj;  */
                String season = iter.next();
                System.out.println(" season : " + season);
            }
        }
     
        public static void main(String[] args){
            SetS2 ss2 = new SetS2();
            ss2.in();
            ss2.out();
        }
    }
    cs



    ② Enhanced Loop ( 강화된 반복분 )



    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
    import java.util.*;
     
    class SetS3{
     
        TreeSet<String> ts = new TreeSet<String>();
     
        void in(){
            ts.add("봄");
            ts.add("여름");
            ts.add("가을");
            ts.add("겨울");
            ts.add("여름");
        }
     
        void out(){
            for(String season : ts){    // Enhanced Loop
                System.out.println(" season : " + season);
            }
        }
     
        public static void main(String[] args){
            SetS3 ss3 = new SetS3();
            ss3.in();
            ss3.out();
        }
    }

    cs




    ③ Boxing ( AutoBoxing / UnBoxing )


    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
    import java.util.*;
     
    class SetS4{
     
        TreeSet<Integer> ts = new TreeSet<Integer>();
     
        void in(){
            ts.add(1);            // AutoBoxing
            ts.add(2);
            ts.add(3);
            ts.add(4);
            ts.add(5);
        }
        
        void out(){
            for(int i : ts){    // UnBoxing
                System.out.println(" i : " + i);
            }
        }
     
        public static void main(String[] args){
            SetS4 ss4 = new SetS4();
            ss4.in();
            ss4.out();
        }
    }
    cs


    반응형
Designed by Tistory.