안녕하세요 이번 글에서는 자바 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 |
댓글