posted by 귀염둥이채원 2019. 3. 3. 17:52

# 배열 리스트(ArrayList)

- 동적 할당이 가능한 리스트의 장점 + 인덱스 접근이 가능한 배열을 장점을 합친 자료구조


# 장점

- 인덱스로 데이터를 상수 시간만에 접근이 가능 

- 연결 리스트처럼 동적으로 크기를 늘릴수 있음


# 단점

- 인덱스를 가지고 있어 삽입/삭제 연산시 O(N)의 시간복잡도가 걸린다 (배열의 단점)


# 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
import java.io.FileNotFoundException;
import java.util.ArrayList;
 
public class Main {
    static ArrayList <Integer> v;
    
    public static void main(String[] args) throws FileNotFoundException {
        v = new ArrayList <Integer> ();
        
        // ArrayList 초기화
        v.clear();
        
        // ArrayList에 데이터 1 삽입
        v.add(1);
        
        // ArrayList에 데이터 5 삽입
        v.add(5);
        
        // 첫번째 원소 출력
        System.out.println("v[0]: " +v.get(0));
        
        // 두번째 원소 출력
        System.out.println("v[1]: " +v.get(1));
        
        // ArrayList의 원소 개수 출력
        System.out.println("v.size: " +v.size());
    }
}
 
/********** 결과 **********
v[0]: 1
v[1]: 5
v.size: 2
*/
cs