Java ArrayList 완전 정복: 사용법, 핵심 메서드, 실전 예제
Java ArrayList란?
ArrayList는 요소가 추가/제거될 때 자동으로 확장/축소되는 동적 배열입니다. 런타임에 크기가 늘어나거나 줄어들 수 있는 유연한 컬렉션이 필요할 때 필수적입니다.
고정 크기 배열(단단한 밧줄)과 달리 ArrayList는 늘어나고 줄어드는 고무줄처럼 동작해 최대 크기를 미리 정의하지 않고도 더 많은 항목 저장 가능.

요소 추가 시 ArrayList는 자동 성장, 제거 시 축소해 효율적 메모리 사용 보장.
ArrayList 주요 메서드
- add(Object o) — 리스트 끝에 요소 추가하거나 지정된 인덱스에 삽입.
- remove(Object o) — 지정된 요소의 첫 번째 발생 제거.
- remove(int index) — 주어진 인덱스 요소 삭제.
- size() — 리스트 현재 요소 수 반환.
- contains(Object o) — 리스트에 지정된 요소 포함 여부 확인.
Java ArrayList 예제
ArrayList에서 가장 흔한 연산들을 간결하게 시연합니다.
import java.util.ArrayList;
public class TestArrayList {
public static void main(String[] args) {
// 제네릭 ArrayList 생성
ArrayList<String> arlTest = new ArrayList<>();
// 생성 시 크기
System.out.println("생성 시 크기: " + arlTest.size());
// 요소 추가
arlTest.add("D");
arlTest.add("U");
arlTest.add("K");
arlTest.add("E");
// 추가 후 크기
System.out.println("추가 후 크기: " + arlTest.size());
System.out.println("요소들: " + arlTest);
// 값으로 제거
arlTest.remove("D");
System.out.println("D 제거 후: " + arlTest);
// 인덱스로 제거
arlTest.remove(2); // "K" 제거
System.out.println("인덱스 2 제거 후: " + arlTest);
// 최종 크기
System.out.println("최종 크기: " + arlTest.size());
System.out.println("최종 리스트: " + arlTest);
// 포함 여부 확인
System.out.println("K 포함 여부: " + arlTest.contains("K"));
}
}
출력:
생성 시 크기: 0
추가 후 크기: 4
요소들: [D, U, K, E]
D 제거 후: [U, K, E]
인덱스 2 제거 후: [U, K]
최종 크기: 2
최종 리스트: [U, K]
K 포함 여부: true
참고: 예제는 단일 문자를 사용했지만 ArrayList는 문자열, 정수, 사용자 정의 클래스 등 모든 객체 타입을 담을 수 있습니다.
