티스토리 뷰

ArrayList


- 데이터는 인덱스를 가지고 있기 때문에, 한번에 참조가 가능해 데이터의 검색에는 유리

대량의 자료를 추가/삭제 하는 경우에는 임시 배열을 생성해 데이터를 복사하기 때문에 내부적으로 처리량이 늘어나면서 성능 저하



<예제>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.ArrayList;
 
public class Test{
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        
        list.add("MILK");
        list.add("BREAD");
        list.add("BUTTER");
        list.add(1,"APPLE");
    //    list.set(2,"GRAPE");
        
        //list.remove(3);
        for(int i =0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}
cs

출력 : 

MILK

APPLE

BREAD

BUTTER



<예제2>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.ArrayList;
 
public class Test{
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        
        list.add("MILK");
        list.add("BREAD");
        list.add("BUTTER");
        list.add(1,"APPLE");
        list.set(2,"GRAPE");
        
        list.remove(3);
        for(int i =0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}
cs


출력:

MILK

APPLE

GRAPE






LinkedList


- 데이터를 저장하는 각 노드가 이전 노드와 다음 노드의 상태만 알고 있음.

- 데이터의 추가/삭제 시에 불필요한 나머지 데이터의 복사가 이루어 지지 않아 데이터의 추가/삭제 시에 유리

- 단 데이터의 검색 시에는 ArrayList 와 비교해 불리 하다고 볼 수 있다.



<예제>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.LinkedList;
 
public class Test{
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<String>();
        
        list.add("MILK");
        list.add("BREAD");
        list.add("BUTTER");
        list.add(1,"APPLE");
        list.set(2,"GRAPE");
        
        list.remove(3);
        for(int i =0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}
cs

결과 : 
MILK
APPLE
GRAPE


반응형

'언어 > JAVA' 카테고리의 다른 글

[JAVA] 스레드(Thread)  (0) 2016.09.22
[JAVA] 해쉬맵(HashMap)  (0) 2016.09.20
[JAVA] 컬렉션  (0) 2016.09.20
[JAVA] 캡슐화란?  (0) 2016.09.20
[JAVA] 제네릭이란?  (0) 2016.09.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
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
글 보관함