블로그 이름

[ERROR] java.util.ConcurrentModificationException: null 본문

개발/오류

[ERROR] java.util.ConcurrentModificationException: null

Hide 2025. 2. 10. 22:45

arrayList.remove(); 해당 메서드 실행 후, 다음 for문을 도는 중 예외가 발생했다.

ArrayList 데이터 순회 중 ConcurrentModificationException 예외가 발생하였다. 

 

List<Integer> arrayList = (대충리스트);

for (Integer a : arrayList)

{

 if (대충조건)

    arrayList.remove(a);

}

 

이런 코드를 짰고

 

arrayList의 size가 1인 상태에서 remove(a); 하게 된다면 concurrentModificationException이 발생하게 된다.

 

원인은 리스트 순회 중 데이터 삭제 시 인덱스가 변경되면서 현재 가리키는 인덱스가 리스트의 크기보다 커져 발생한다.

 

해결 방법은 역순으로 제거하면 된다.