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

Java Stream API 사용 중 ConcurrentModificationException 발생 해결 방법

빗방울 2026.10.31 05:14 1분 읽기 조회 12 · 추천 2

리스트 순회하며 특정 조건의 데이터를 삭제하는 로직 구현 중입니다.

코드:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
        
        list.forEach(num -> {
            if (num % 2 == 0) {
                list.remove(Integer.valueOf(num));
            }
        });
    }
}

오류: java.util.ConcurrentModificationException

시도: for-each 루프 및 Stream filter 적용 시도했으나 기존 리스트 유지하며 삭제해야 함.

질문: 원본 리스트를 유지하면서 Stream 내부에서 안전하게 요소를 제거하는 방법이 무엇입니까?

모든 이야기1511

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

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