계단을 오르듯이

java.util.ConcurrentModificationException 에러 본문

에러

java.util.ConcurrentModificationException 에러

happyAyun 2021. 10. 29. 07:26

백준 알고리즘을 풀던 중 ConcurrentModificationException 에러 발생.

원인은  Enhanced for loop (향상된 for문) 에서 발생했다.

 

이 이유는 내가 T만큼 for문을 돌리면서 계속해서 T에 추가를 하고 있기 때문이다.

만약 그냥 for문을 사용했다면 size를 정하고 for문을 돌리기 때문에 이런 문제는 발생되지 않았을 것이다.

 

향상된 for문은 iterator을 사용해서 돌려지기 때문에 이런 에러가 발생될 수 있는 것이다.

에러가 발생한 코드

 

향상된 for문의 내부는 이렇게 돌아간다.

Iterator<Tree> iter = T.iterator();

while(iter.hasNext()){ // 에러 발생
 ...
}