JAVA - ArrayList 사용법
ArrayList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.
Java 표준 배열은 생성 시에 갯수를 정해줘야 한다.
ex. String[] nameArray = new String[10];
배열은 생성 시 정해진 갯수를 초과하면 데이터가 더 이상 저장이 되지 않는다.
따라서 갯수를 정하지 않고 데이터를 마음대로 추가하고 삭제할 수도 있는 것 배열이 필요했고
그래서 만들어진 것이 ArrayList(어레이 리스트) 이다.
특징은 다음과 같다.
- 표준 배열보다는 느리지만 배열에서 많은 조작이 필요한 경우 유용하게 사용할 수 있다.
- List 인터페이스에서 상속받아 사용한다.
- ArrayList는 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용량이 늘어난다.
선언하는 방법
import java.util.ArrayList;
// 담고 싶은 데이터를 <> 에 담아야 한다. << 클래스를 뜻함
// 비어있는 리스트를 만든다.
ArrayList<String> nameList = new ArrayList<String>();
import 해주고
위와 같은 코드를 작성할 때에 < > 안에 데이터 타입을 명시하여야하고 명시된 데이터타입의 데이터만 저장할 수 있다.
// 데이터 추가하기
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");
add 메소드로 데이터를 추가할 수 있다.
// 데이터 가져오기
System.out.println(nameList.get(2));
get 메소드로 데이터를 가져올 수 있다.
// ArrayList의 모든 데이터 출력하기
// nameList.size() 는 저장되어있는 데이터의 갯수를 뜻한다.
for(int i = 0; i < nameList.size(); i++ ) {
System.out.println(nameList.get(i));
}
size 메소드로 데이터의 갯수를 가져올 수 있고, 위 코드는 이를 응용하여 리스트 내의 모든 데이터를 가져오는 코드이다.
// 원하는 위치에 데이터 입력하기
nameList.add(1, "Harry");
add메소드를 사용하고, 앞의 숫자는 index 번호로 원하는 위치의 index를 입력하면 된다.
// 데이터 삭제하기
nameList.remove(0);
remove 메소드를 사용해 index 번호를 입력하여, 원하는 데이터를 삭제할 수 있다.
// 리스트의 데이터 전부 삭제
nameList.clear();
clear 메소드로 데이터를 모두 삭제 할 수 있다.
if(nameList.isEmpty()) {
System.out.println("데이터가 비어있습니다.");
} else {
System.out.println("데이터가 있습니다.");
}
isEmpty 메소드로 리스트가 데이터가 있는지 없는지 True, False로 확인할 수 있다.