ArrayList가 무엇인가?
- ArrayList는 내부적으로 "동적 배열"을 사용해 데이터를 순차적으로 저장하고 관리하는 컬렉션 클래스이다.
- 연속적인 데이터 리스트이다.
- 크기가 고정되어 있는 배열과 달리 데이터가 담긴 크기에 따라서 가변적으로 공간을 늘리거나 줄인다.
- 데이터 중간에 삽입 또는 삭제를 할 경우, 데이터의 빈 공간을 만들지 않기 위해서 데이터의 요소들을 이동시키기 때문에 삽입 또는 삭제에 있어서는 속도가 느리다.

코드로 확인하기
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
System.out.println("list = " + list);
System.out.println("0번 = " + list.get(0)); // B
System.out.println("1번 = " + list.get(1)); // B
list.remove(0); // A 삭제
System.out.println("list = " + list);
System.out.println("사이즈 = " + list.size()); // 2
}
}

데이터 삭제방법 2가지 - Integer
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> arr = new ArrayList<>();
for (int i = 0; i < 5; i++) {
arr.add(i);
}
System.out.println("arr = " + arr); // [0, 1, 2, 3, 4]
//0번째 1번째 순서로 삭제하는 방법 (인덱스번호로 삭제)
arr.remove(0);
System.out.println("[인덱스로 삭제]arr = " + arr); // [1, 2, 3, 4]
//데이터값으로 삭제하는 방법
arr.remove(Integer.valueOf(3));
System.out.println("[데이터값 삭제]= " + arr); // [1, 2, 4]
}
}
ArrayList 같은 컬렉션은 객체만 저장 가능함 (int를 넣을 수 없고 Integer를 넣어야 한다)
int -> Integer로 변환을 해야하는데 Integer.valueOf(3)은 숫자3을 Integer 객체로 감싸서 return을 해준다
int에 boxing을 하면 remove 했을때 값이 3인 객체를 삭제하라는 의미가 완성 됨
'Java' 카테고리의 다른 글
| 자바에서 int[] ↔ List<Integer> 변환 (for문은 이제 그만...) (0) | 2025.12.08 |
|---|---|
| 오름차순 정렬과 내림차순 정렬에 대해 알아보자 (0) | 2025.12.05 |
| 새벽 코딩하다가 알게 된 String.repeat() - 반복문 대신 이렇게 쓰자! (0) | 2025.12.04 |
