
자바에서 배열은 크기가 고정되어 있어 사용하기 불편할 수 있습니다. 이때 유용하게 사용할 수 있는 것이 바로 ArrayList입니다.
ArrayList는 크기를 유동적으로 늘릴 수 있는 배열로, 다양한 메서드를 통해 원소를 쉽게 추가, 삭제, 검색할 수 있습니다.
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
ArrayList<Integer> intList = new ArrayList<>();
ArrayList<Double> doubleList = new ArrayList<>();

| 메서드 | 설명 |
|---|---|
add(E e) | 요소 추가(맨 뒤인 오른쪽에 추가) |
add(int index, E e) | 특정 위치에 요소 추가 |
get(int index) | 특정 위치의 요소 가져오기 |
set(int index, E e) | 특정 위치의 요소를 수정 |
remove(int index) | 특정 위치의 요소 삭제 |
remove(Object o) | 특정 값 삭제 (처음 등장하는 값 1개만) |
contains(Object o) | 해당 요소가 있는지 확인 (true / false) |
size() | 요소 개수 반환 |
isEmpty() | 비어 있는지 확인 (true / false) |
clear() | 모든 요소 제거 |
indexOf(Object o) | 해당 요소의 인덱스 반환 (없으면 -1) |
toArray() | 리스트를 배열로 변환 |
sort(Comparator) | 정렬 (Collections.sort() 사용 가능) |
실전 예제 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
// 추가
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// 출력
System.out.println(fruits); // [Apple, Banana, Cherry]
// 특정 요소 가져오기
System.out.println(fruits.get(1)); // Banana
// 수정
fruits.set(1, "Blueberry");
System.out.println(fruits); // [Apple, Blueberry, Cherry]
// 삭제
fruits.remove("Cherry");
System.out.println(fruits); // [Apple, Blueberry]
// 포함 여부
System.out.println(fruits.contains("Apple")); // true
// 오름차순 정렬
Collections.sort(fruits);
System.out.println("오름차순 정렬: " + fruits); // [Apple, Blueberry]
// 내림차순 정렬
fruits.sort(Comparator.reverseOrder());
System.out.println("내림차순 정렬: " + fruits); // [Blueberry, Apple]
}
}
get(), remove(), add(), size() 중요한듯