22일차 강의 정리


1. ArrayList

소스

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
51
52
53
54
55
56
57
58
    public static void main(String[] args) {
        //ArrayList
        //crud
        ArrayList list;
        list = new ArrayList();
        
        list.add(1);
        list.add(2);
        list.add(3);
        
        System.out.println("---------출력1---------");
        for (int i = 0; i < list.size(); i++) {
            System.out.println("list["+i+"]="+list.get(i));
        }
//        System.out.println("---------출력2---------");
//        Iterator ite = list.iterator();
//        int idx=0;
//        while(ite.hasNext()){
//            System.out.println("list["+(idx++)+"]="+ite.next());
//        }
        ArrayList list2 = (ArrayList) list.clone();    //clone -> return타입이 Object
        
        list2.set(1"이");
        list2.addAll(list);    //뒤에 list 모두 추가
        
        System.out.println("---------출력3---------");
        System.out.println("\"이\"가 있는가?"+list2.contains("이"));    //true/false 출력
        System.out.println("3의 인덱스번호: "+list2.indexOf(3));        //값이없으면 -1 출력,인덱스번호출력
        
        for (int i = 0; i < list2.size(); i++) {
            System.out.println("list2["+i+"]="+list2.get(i));
        }
        
        System.out.println("값\'3\'의 인덱스번호 : "+list2.lastIndexOf(3));    //"3"이 들어있는 인덱스번호 출력
        
//        list2.clear();
        System.out.println("list2 가 비어있는가? "+list2.isEmpty());
//        list2.remove(1);        //인덱스1의 값 삭제
//        list2.remove(new Integer(3));    //값이 3 을 삭제
//        list2.removeAll(list);    //전부삭제
        
        System.out.println("======================================");
        Object[] obj = list2.toArray();
        for (int i = 0; i < list2.size(); i++) {
            System.out.println("list2["+i+"]="+list2.get(i));
        }
//        System.out.println("---------출력4---------");
//        for (int i = 0; i < obj.length; i++) {
//            System.out.println(obj[i]);
//        }
        System.out.println("---------출력5---------");
        ArrayList list3 = new ArrayList(list2);
        for (int i = 0; i < list3.size(); i++) {
            System.out.print("list3["+i+"]="+list3.get(i)+" / ");
        }
        list3.clear();
        
    }//main end
cs

결과


2. LinkedList

소스

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
    public static void main(String[] args) {
        //LinkedList
        LinkedList list;
        list = new LinkedList();
        
        list.add(1);
        list.add(2);
        list.add(3);
        
        System.out.println(list.get(1));
        System.out.println("-------------------------1---");
        for(int i=0; i<list.size(); i++){
            System.out.println("list["+i+"]="+list.get(i));
        }
        System.out.println("-------------------------2---");
        Iterator ite = list.iterator();
        int idx =0;
        while(ite.hasNext()){
            System.out.println("list["+(idx++)+"]="+ite.next());
        }
        System.out.println("-------------------------3---");
        LinkedList list2 = new LinkedList(list);
        for(int i=0; i<list2.size(); i++){
            System.out.println("list2["+i+"]="+list2.get(i));
        }
        System.out.println("-------------------------4---");
        List list3 = (List)list2.clone();
        for(int i=0; i<list3.size(); i++){
            System.out.println("list3["+i+"]="+list3.get(i));
        }
    }
cs

결과


3. ArrayList & LinkedList 비교

소스

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
    public static void main(String[] args) {
        //ArrayList & LinkedList 비교
        ArrayList arr = new ArrayList();
        LinkedList link = new LinkedList();
        int temp = 100000;
        
        //ADD/////////////////////////////////////////////////////////////////
        Date time1 = new Date();
        long start1 = time1.getTime();        //ArrayList 시작 시간
        
        for (int i = 0; i < temp; i++) {
            arr.add(String.valueOf(i));
        }
        time1 = new Date();
        long end1 = time1.getTime();        //ArrayList 종료 시간
        System.out.println("ArrayList - add time : "+(end1-start1)+" nanoSec");
        
        Date time2 = new Date();
        long start2 = time2.getTime();        //LinkedList 시작 시간
        for (int i = 0; i < temp; i++) {
            link.add(String.valueOf(i));
        }
        time2 = new Date();
        long end2 = time2.getTime();        //LinkedList 종료 시간
        System.out.println("LinkedList - add time : "+(end2-start2)+" nanoSec");
        
        //GET//////////////////////////////////////////////////////////////////
        time1 = new Date();
        start1 = time1.getTime();            //ArrayList 시작 시간
        
        for (int i = 0; i < temp; i++) {
            arr.get(i);
        }
        time1 = new Date();
        end1 = time1.getTime();                //ArrayList 종료 시간
        System.out.println("ArrayList - get time : "+(end1-start1)+" nanoSec");
        
        time2 = new Date();
        start2 = time2.getTime();            //LinkedList 시작 시간
        for (int i = 0; i < temp; i++) {
            link.get(i);
        }
        time2 = new Date();
        end2 = time2.getTime();                //LinkedList 종료 시간
        System.out.println("LinkedList - get time : "+(end2-start2)+" nanoSec");        
 
    }//main end
cs

결과



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

DAY22 컬렉션프레임워크 Map  (0) 2016.08.03
DAY22 컬렉션프레임워크 Set  (0) 2016.08.03
DAY22 컬렉션프레임워크 Vector  (0) 2016.08.03
DAY21 컬렉션 프레임워크  (0) 2016.08.03
DAY21 싱글톤 패턴  (0) 2016.08.02

+ Recent posts