본문 바로가기
자료구조

자바 Arraylist / java arraylist

by 자유코딩 2017. 10. 30.

안녕하세요 이번 글에서는 자바 Arraylist 에 대해서 알아보도록 하겠습니다.

 

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
59
60
public class ArrayList<T> {
     
    T[] array;
 
    public void add(T data) {
         
        if(array == null) { //처음이면
            array = (T[])new Object[1]; //Object :최상위 클래스
            array[0= data;
        }
        else { //처음이 아니면
            //원래 배열보다 1칸 큰 배열을 생성
            T[] newArray = (T[])new Object[array.length + 1];
             
            for(int i=0; i<array.length; i++) {
                newArray[i] = array[i];
            }
            //마지막칸에 매개변수로 받은 data 넣어주기
            newArray[array.length= data;
             
            array = newArray; //새로만든 배열의 위치정보를 필드에 연결
        }
    }
    public T get(int index) {
        if(array == null){
            return null;
        }
        else {          
            return array[index]; 
        }
    }
    public void set(int index, T data) {
        if(array == null){
            return;
        }
        else {          
            array[index] = data; 
        }
    }
     
    public void delete(int num) { //인덱스 값
        if (array == null) { //없으면
            System.out.println("삭제할 인덱스 값이 존재하지 않음");
        }
        else {
            T[] newArray = (T[]) new Object[array.length - 1];
             
            for (int i = 0; i < array.length - 1; i++) {
                if (i >= num) {
                    newArray[i] = array[i + 1];
                    }
                else {
                    newArray[i] = array[i];
                }
            }
            array = newArray;
        }
    }
     
}
cs

'자료구조' 카테고리의 다른 글

자바 연결 리스트 / java Linked List  (0) 2017.10.24
스택 / Stack  (0) 2017.10.19
자바 선택정렬 / java select sort  (2) 2017.09.28

댓글