자바 유틸 ArrayList

자바 유틸 ArrayList


Array는 배열이고, ArrayList는 배열을 리스트처럼 삽입, 삭제가 쉽도록 만든 Collection이다.
(※참고 : ArrayList는 동기화되어 있지 않다. 따라서 Thread 사용시 동기화과정이 필요하다.)

ArrayList에서 자주 사용하는 메소드는

add(Object o)
객체 매개변수(o)를 목록에 추가한다.

remove(int index)
index 매개변수로 지정한 위치에 있는 객체를 제거한다.

contains(Object o)
객체 매개변수 o에 매치되는 것이 있으면 ‘참’을 리턴한다.

isEmpty()
목록에 아무 원소도 없으면 ‘참’을 리턴한다.

indexOf(Object o)
객체 매개변수(o)의 인덱스 또는 -1을 리턴한다.

size()
현재 목록에 들어있는 원소의 개수를 리턴한다.

get(int index)
주어진 index 매개변수 위치에 있는 객체를 리턴한다.

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
public class ArrayListExam {
public static void main(String[] args) {
ArrayList myList = new ArrayList();
// ArrayList 의 디폴트 생성자를 호출한다
Egg e1 = new Egg();
myList.add(e1);
// e1의 클래스 객체를 myList 에 add시킨다.(담는다 Object Type)
Egg e2 = new Egg();
myList.add(e2);
// e2의 클래스 객체를 myList 에 add시킨다.(담는다 Object Type)
int myListSize = myList.size();
// myList의 리스트의 원소의 갯수를 리턴한다(Integer값으로 리턴)
System.out.println("myList의 원소의 개수 : " + myListSize);
boolean isIn = myList.contains(e1);
// myList의 원소에 e1이 있는지의 여부를 리턴한다(boolean 값으로 리턴)
if (isIn == true) {
System.out.println("Egg e1은 myList에 존재합니다.");
} else {
System.out.println("Egg e1은 myList에 존재하지 않습니다..");
}
int index = myList.indexOf(e2);
// myList의 원소에 e2의 index값을 리턴한다(Integer 값으로 리턴)
System.out.println("Egg e2의 인덱스 : " + index);
boolean empty = myList.isEmpty();
// myList의 원소가 비어있는지 여부를 리턴한다 true/false로 리턴(boolean 값으로리턴)
if (empty == true) {
System.out.println("myList는 비어 있습니다.");
} else {
System.out.println("myList는 비어 있지 않습니다.");
}
myList.remove(e1);
// myList의 원소중 e1을 지운다
isIn = myList.contains(e1);
// 위에서 myList를 지웠기 때문에 isln은 false를 리턴한다 .
if (isIn == true) {
System.out.println("Egg e1은 myList에 존재합니다.");
} else {
System.out.println("Egg e1은 myList에 존재하지 않습니다..");
}
}
}

class Egg {
public Egg() {
// Do nothing
}
}
Share