본문으로 바로가기
COMMUNITY모든 이야기

Java ArrayList에서 특정 인덱스 요소 삭제 시 IndexOutOfBoundsException 발생

빗방울 2026.10.30 20:18 2분 읽기 조회 5

사이드 프로젝트에서 사용자 목록을 관리하던 중, 반복문을 통해 조건에 맞는 요소를 삭제하려고 합니다.

코드:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<String> users = new ArrayList<>(Arrays.asList("User1", "User2", "User3"));
        
        for (int i = 0; i < users.size(); i++) {
            if (users.get(i).contains("User")) {
                users.remove(i);
            }
        }
        System.out.println(users);
    }
}

오류: java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2

시도: 루프의 조건식을 `i < users.size() - 1`로 변경해 보았으나 마지막 요소가 삭제되지 않는 현상이 발생함.

질문: 반복문 내부에서 요소를 삭제할 때 인덱스 범위 초과 오류를 방지하려면 어떻게 해야 합니까?

모든 이야기1455

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1455개의 이야기
댓글