23일차 강의 정리


컬렉션프레임워크

소스1 (* ArrayList, HashSet, TreeSet)

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
public class Ex01 {
    public static void main(String[] args) {        
        ArrayList<Integer> list = new ArrayList<Integer>();    //제네릭<>
        list.add(new Integer(1));
        list.add(new Integer(2));
        list.add(new Integer(3));
//        list.add("사");    //Integer 외에 오류
        
//        for (int i = 0; i < list.size(); i++) {
//            Integer temp = list.get(i);
//            System.out.println(temp);
//        }
        for(Integer i:list){    //foreach문, 개선된 for문
            System.out.println(i);
        }
        System.out.println("------------------------------");
        int[][] arr={{1,2},{3,4},{5,6},{7,8,9}};
        for(int[] i :arr){
            for(int j : i){
            System.out.print(j+" ");
            }
            System.out.println();
        }
        
        System.out.println("------------------------------");
//        HashSet<String> set = new HashSet<String>();        //정렬이없는 Set
        TreeSet<String> set = new TreeSet<String>();        //정렬 Set
        //tree는 제네릭이없을경우 다른타입이 존재할시 오류(순서를 정할수없어서)
        set.add("하나");
        set.add("둘");
//        set.add(3);        //오류
        set.add("넷");
        
//        Iterator ite = set.iterator();
//        while(ite.hasNext()){
//            System.out.println(ite.next());
//        }
        for(String temp : set){        //foreach문
            System.out.println(temp);
        }
        
    }//main end
}//class end
cs

결과1

소스2

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
class Box02<T>{
    T obj;
 
    void add(T obj){
        this.obj = obj;
    }
 
    T get(){
        return obj;
    }
}
class Paper{
    @Override
    public String toString() {
        return "종이입니다.";
    }
}
class Pen{
    @Override
    public String toString(){
        return "나는 펜입니다.";
    }
}
 
public class Ex02 {
    public static void main(String[] args) {
        Box02<Pen> box = new Box02<Pen>();        
        Pen pen = new Pen();
        box.add(pen);
        System.out.println(box.get());
 
        Box02<Paper> box2 = new Box02<Paper>();
        Paper per = new Paper();
        box2.add(per);
        System.out.println(box2.get());        
    }//main end
}//class end
cs

결과2

소스3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Ex03 {
    public static void main(String[] args) {
        HashMap<String,String> map = new HashMap<String,String>();
        map.put("하나""a");
        map.put("둘""abcd");
        map.put("셋""123456");
        map.put("넷""1234");
//        Set<String> key = map.keySet();
        TreeSet<String> key = new TreeSet(map.keySet());
        Iterator<String> ite = key.iterator();
        String obj = ite.next();
//        while(ite.hasNext()){                    //무한루프
//            System.out.println(map.get(obj));    //값
//            System.out.println(obj);            //key값
//        }
        Set<String> set = map.keySet();
        for(String key2 : set){
            System.out.println(key2+":"+map.get(key2));
        }
 
    }//main end
}//class end
cs

결과3

소스4

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
class Box04<T,M>{
    T pen;
    M par;
    
    void set(T pen, M par){
        this.pen=pen;
        this.par=par;
    }
    T getPen(){
        return this.pen;
    }
    M getPar(){
        return this.par;
    }
}
class Pen04{}
class Paper04{}
 
public class Ex04 {
    public static void main(String[] args) {
//        Box04<Pen04,Paper04> box = new Box04<Pen04,Paper04>();
//        box.set(new Pen04(), new Paper04());
        
        Box04<String,Integer> box = new Box04<String,Integer>();
        box.set("aaaaaaaaaa"1234);
        System.out.println(box.getPen());
        System.out.println(box.getPar());
    }//main end
}//class end
cs

결과4



'* Programming > JAVA' 카테고리의 다른 글

DAY24 스레드  (0) 2016.08.08
DAY24 제네릭2(메소드제네릭,와일드카드)  (0) 2016.08.08
DAY22 큐&스택  (0) 2016.08.04
DAY22 컬렉션프레임워크 Map  (0) 2016.08.03
DAY22 컬렉션프레임워크 Set  (0) 2016.08.03

+ Recent posts