티스토리 뷰

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
«   2025/04   »
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
글 보관함