ArrayList 클래스 선언부 |
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable |
메서드/설명 | 소속 | 예제 | 결과 |
import java.util.ArrayList; | |||
ArrayList() 기본적으로 내부 배열의 크기 10으로 초기화 |
ArrayList | ArrayList<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); System.out.println(list); |
[Apple, Banana] |
ArrayList(Collection<? extends E> c) 컬렉션 c의 요소들로 초기화된 ArrayList를 생성한다. |
ArrayList | List<String> baseList = Arrays.asList("Dog", "Cat", "Bird"); ArrayList<String> list = new ArrayList<>(baseList); System.out.println(list); |
[Dog, Cat, Bird] |
ArrayList(int capacity) 초기 용량이 지정된 ArrayList를 생성한다. |
ArrayList | ArrayList<String> list = new ArrayList<>(10); list.add("Hello"); list.add("World"); System.out.println(list); |
[Hello, World] |
boolean add(E e) 리스트 끝에 요소 추가 |
Collection | ArrayList<String> list = new ArrayList<>(); // 1. add(E e) list.add("Apple"); // [Apple] System.out.println("1. " + list); // 2. add(int index, E element) list.add(0, "Banana"); // [Banana, Apple] System.out.println("2. " + list); // 3. addAll(Collection<? extends E> c) list.addAll(Arrays.asList("Cat", "Dog")); // [Banana, Apple, Cat, Dog] System.out.println("3. " + list); // 4. addAll(int index, Collection<? extends E> c) list.addAll(1, Arrays.asList("Tiger", "Lion")); // [Banana, Tiger, Lion, Apple, Cat, Dog] System.out.println("4. " + list); |
1. [Apple] 2. [Banana, Apple] 3. [Banana, Apple, Cat, Dog] 4. [Banana, Tiger, Lion, Apple, Cat, Dog] |
void add(int index, E element) 특정 인덱스에 요소 삽입 |
List | ||
boolean addAll(Collection<? extends E> c) 해당 컬렉션의 모든 요소를 현재 리스트의 끝에 추가한다. |
Collection | ||
boolean addAll(int index, Collection<? extends E> c) 지정된 컬렉션의 모든 요소를 리스트의 지정된 위치부터 시작하여 추가한다. |
List | ||
void ensureCapacity(int requiredCapacity) ArrayList 인스턴스의 용량을 증가시킨다. |
ArrayList | ArrayList<String> list = new ArrayList<>(2); // 초기 용량 2 list.add("One"); list.add("Two"); list.ensureCapacity(10); // 내부 배열의 용량을 최소 10으로 확보 |
|
boolean remove(Object o) 지정된 요소가 처음으로 나타나는 위치의 요소를 제거한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Apple"); list.remove("Apple"); // 첫 번째 "Apple"만 제거됨 System.out.println(list); |
[Banana, Apple] |
E remove(int index) 리스트에서 지정된 위치에 있는 요소를 제거한다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("Dog"); list.add("Cat"); list.add("Bird"); list.remove(1); // "Cat" 제거 System.out.println(list); |
[Dog, Bird] |
boolean removeAll(Collection<?> c) 리스트의 모든 요소를 제거한다. |
Collection | ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D")); list.removeAll(Arrays.asList("B", "D")); System.out.println(list); |
[A, C] |
boolean removeIf(Predicate<? super E> filter) 주어진 조건 또는 술어를 만족하는 리스트의 모든 요소를 제거한다. |
Collection | ArrayList<Integer> list = new ArrayList<>(); for (int i = 1; i <= 10; i++) list.add(i); list.removeIf(n -> n % 2 == 0); // 짝수 제거 System.out.println(list); |
[1, 3, 5, 7, 9] |
void retainAll(Collection<?> c) 리스트에서 지정된 컬렉션에 포함된 요소들만 남기고 나머지는 제거한다. |
Collection | ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D")); list.retainAll(Arrays.asList("A", "C")); System.out.println(list); |
[A, C] |
void clear() 현재 리스트의 모든 요소를 제거한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("X"); list.add("Y"); list.clear(); System.out.println(list); |
[] |
void trimToSize() ArrayList 인스턴스의 용량을 현재 리스트의 크기에 맞게 줄인다. |
ArrayList | ArrayList<String> list = new ArrayList<>(100); list.add("A"); list.add("B"); list.trimToSize(); // 필요 없지만 메모리 최적화 가능 System.out.println(list); |
[A, B] |
E get(int index) 리스트에서 지정된 위치에 있는 요소를 가져온다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("Zero"); list.add("One"); list.add("Two"); System.out.println(list.get(1)); |
One |
boolean contains(Object o) 현재 리스트에 지정된 요소가 포함되어 있으면 true를 반환한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); System.out.println(list.contains("Java")); // true System.out.println(list.contains("C++")); // false |
true false |
int indexOf(Object o) 특정 요소가 리스트에 존재하면 해당 요소가 처음 나타나는 인덱스를 반환하고, 존재하지 않으면 -1을 반환한다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("A"); System.out.println(list.indexOf("A")); // 0 System.out.println(list.indexOf("C")); // -1 |
0 -1 |
int lastIndexOf(Object o) 특정 요소가 리스트에 존재하면 해당 요소가 마지막으로 나타나는 인덱스를 반환하고, 존재하지 않으면 -1을 반환한다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("X"); list.add("Y"); list.add("X"); System.out.println(list.lastIndexOf("X")); // 2 |
2 |
boolean isEmpty() 리스트가 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다. |
Collection | ArrayList<Integer> list = new ArrayList<>(); System.out.println(list.isEmpty()); // true list.add(10); System.out.println(list.isEmpty()); // false |
true false |
int size() 리스트에 있는 요소의 개수를 반환한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("One"); list.add("Two"); System.out.println(list.size()); // 2 |
2 |
Object[] toArray() 리스트에 있는 모든 요소를 올바른 순서로 포함하는 배열을 반환한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); Object[] array = list.toArray(); for (Object obj : array) { System.out.println(obj); } |
A B |
<T> T[] toArray(T[] a) 리스트에 있는 모든 요소를 올바른 순서로 포함한 배열을 반환한다. |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("Hello"); list.add("World"); String[] array = list.toArray(new String[0]); for (String s : array) { System.out.println(s); } |
Hello World |
List<E> subList(int fromIndex, int toIndex) 주어진 범위에 포함되는 모든 요소를 가져온다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); List<String> sub = list.subList(1, 3); // index 1~2 System.out.println(sub); |
[B, C] |
Iterator iterator() 리스트에 대한 Iterator 객체를 반환한다. |
Collection | ArrayList<String> cars = new ArrayList<String>(); cars.add("Volvo"); cars.add("BMW"); cars.add("Ford"); cars.add("Mazda"); Iterator<String> it = cars.iterator(); while(it.hasNext()) { System.out.println(it.next()); } |
Volvo BMW Ford Mazda |
ListIterator<E> listIterator() 리스트의 처음부터 시작하는 리스트 반복자를 반환한다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); ListIterator<String> it = list.listIterator(); while (it.hasNext()) { System.out.println(it.next()); } |
A B C |
ListIterator<E> listIterator(int index) 지정된 인덱스에서부터 시작하는 리스트 반복자를 반환한다. |
List | ArrayList<String> list = new ArrayList<>(); list.add("X"); list.add("Y"); list.add("Z"); ListIterator<String> it = list.listIterator(1); // index 1부터 시작 while (it.hasNext()) { System.out.println(it.next()); } |
Y Z |
void forEach(Consumer<? super E> action) 지정된 작업을 Iterable의 각 요소에 대해 수행하며, 모든 요소가 처리되거나 작업 중 예외가 발생할 때까지 실행된다. |
Collection | ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.forEach(n -> System.out.println(n * 10)); |
10 20 30 |
Spliterator<E> spliterator() 병렬 처리를 위한 Spliterator 객체를 반환한다 (주로 Stream API에서 사용됨). |
Collection | ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); Spliterator<String> split = list.spliterator(); split.forEachRemaining(System.out::println); |
A B C |
Object clone() ArrayList 객체를 복제한 새 객체를 반환한다. (얕은 복사) |
ArrayList | ArrayList<String> original = new ArrayList<>(); original.add("One"); original.add("Two"); ArrayList<String> copy = (ArrayList<String>) original.clone(); System.out.println(copy); |
[One, Two] |
E set(int index, E element) 지정된 위치의 요소를 새로운 요소로 교체한다. 반환값은 교체되기 전의 값. |
List | ArrayList<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); String old = list.set(1, "Orange"); System.out.println("Replaced: " + old); System.out.println(list); |
Replaced: Banana [Apple, Orange] |
default void replaceAll(UnaryOperator<E> operator) replaceAll() 메서드는 리스트의 각 항목에 대해 특정 연산을 수행한 결과로 모든 항목을 교체한다. 이 연산은 Java의 UnaryOperator 인터페이스와 호환되는 람다 표현식으로 정의할 수 있다. |
List | ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(5); numbers.add(9); numbers.add(8); numbers.add(6); numbers.add(1); numbers.replaceAll( n -> n + 1 ); System.out.println(numbers); |
[6, 10, 9, 7, 2] |
'🖥️ Backend > Java' 카테고리의 다른 글
Stack 클래스 메서드 총 정리 (0) | 2025.05.07 |
---|---|
LinkedList 클래스 메서드 총 정리 (3) | 2025.05.04 |
Map 인터페이스 추상 메서드 총 정리 (0) | 2025.05.01 |
Set 인터페이스 추상 메서드 총 정리 (0) | 2025.05.01 |
Queue 인터페이스 추상 메서드 총 정리 (0) | 2025.05.01 |