JAVA ArrayList 사용법 & 예제
자바 리스트 클래스에 대해 알아 보겠습니다.
자바 리스트는 배열의 한계로 인해 만들어진 자료형 입니다.
배열을 사용하기 위해서는 크기를 정해야 하는데 프로그래밍 중 크기를 알 수 없는 경우가 더 많습니다.
List는 메모리가 허용하는 한 계속해서 추가할 수 있도록 만든 자료형 클래스 입니다.
▼ java.util.List / java.util.Collection
java.util.List는 인터페이스 클래스이며 java.util.Collection 인터페이스를 구현한 것입니다.
List를 사용하기 위해서는 아래 클래스들 중 하나로 인스턴스화 할 수 있습니다.
List list1 = new ArrayList();
List list2 = new LinkedList();
List list3 = new Vector();
List list4 = new Stack();
■ ArrayList add()
배열의 값을 추가하고 인덱스에 해당하는 값을 하나씩 가져오거나 모든 데이터를 꺼내는 방법을 알아보겠습니다.
값을 추가하는 함수는 add(), 값을 조회하는 함수는 get(index) 로 활용할 수 있습니다.
List list1 = new ArrayList();
list1.add("값1");
list1.add("값2");
list1.add(new String("값3"));
list1.add(1, "값1 뒤에 요소값 넣기");
결과는 [값1, 값1 뒤에 요소값 넣기, 값2, 값3] 입니다.
List 배열에 첫번째 인수로 요소 값을 넣은 경우 값이 교체되는 것이 아니라 추가가 되며 데이터들이 하나씩 뒤로 밀리게 됩니다.
■ ArrayList get()
배열의 값을 조회하고 싶다면 get(index) 함수를 사용하면 됩니다.
하나씩 조회를 하거나 List 클래스의 Iterator() 함수로 Iterator 객체를 리턴받아 사용합니다.
// index를 통한 단일 조회
String str1 = list1.get(0).toString();
String str2 = list1.get(1).toString();
// Iterator 함수를 통한 조회
Iterator iterator = list1.iterator();
while (iterator.hasNext()) {
String str = (String) iterator.next();
}
// for문을 통한 전체 조회
for(Object obj : listA){
String str = (String) obj;
}
■ ArrayList remove()
배열에 값을 추가하고 조회를 해봤습니다.
당연히 삭제도 가능하겠죠?
삭제를 하는 방법은 두가지가 있습니다. index 값을 인수로 넘겨서 삭제하거나, 오브젝트 값을 인수로 넘기면 검색 후 배열에서 삭제 됩니다.
list1.remove(0);
list1.remove("값1");
index 값으로 삭제했을 경우 어떤 데이터가 지워졌는지 리턴값으로 확인이 가능하고
오브젝트 값을 인수로 넘길 경우 boolean 타입으로 리턴값을 확인할 수 있습니다.
■ ArrayList contains()
리스트 배열 안에 찾고자 하는 데이터가 있는지 체크하는 함수 입니다.
함수의 인수로 오브젝트 값을 넘기게 되면 boolean 값을 리턴하게 됩니다.
list1.contains("값2");
리턴 결과 값은 true 입니다.
이상, Java의 ArrayList에 대해 알아보았습니다.