java.util.ConcurrentModificationException

탱귤생귤·2023년 10월 28일

ERROR

목록 보기
14/33

이름처럼 동시에 수정을 하다보니 일어나는 오류다.

public void delete(int articleId) {
		for(Article a : list) {
			if(a.getArticleId()==articleId) {
				list.remove(a);
			}
		}
	}

리스트를 순회하며 삭제하는 메서드를 실행하니 저 ConcurrenctModificationException이 떴다. 반복문을 도는 와중 삭제를 해버려 modCount에 수정이 생겨 일어난 오류로 보인다.

Iterator을 사용하니 해결이 됐다.

Iterator<Article> iter=list.iterator();
		
		while(iter.hasNext()) {
			Article a=iter.next();
			if(a.getArticleId()==articleId) iter.remove();
		}

https://hbase.tistory.com/322
이분의 글을 참고함. 감사합니다.

0개의 댓글