모두를 반복하는 동안은 해, ConcurrentModificationException해, ConcurrentModificationException
하지만 제가 알고 싶은 던져 때문에 우리는 비 스레드 안전 컬렉션을 수정할 수 없습니다 알 수있는 바와 같이 예외를 throw하지 않고 반복과 수정을 동시에 수행하게되면 어떤 일이 벌어 질 것인가입니다.
예를 들어, 요소를 반복하면서 HashMap에서 요소를 제거하십시오.
제거. 제거 작업은 HashMap에서 기본 테이블의 길이를 변경하지 않으므로 반복에는 문제가되지 않는다고 생각합니다.
넣어. 어쩌면 문제는 기본 테이블이 섞여서 Put 트리거가 크기 조정() 될 때만 발생합니다.
내 분석이 맞습니까?
'ArrayList'를 뜻한다고 가정합니다. 인터페이스이기 때문에'List'에 대해 너무 많이 말할 수는 없습니다. – Dukeling
어쨌든, 내가 말한 모든 것은 일반적인 목록이므로 대부분의 목록은 말할 것도없고 대부분의 데이터 구조에 적용됩니다. "반복하는 동안 컬렉션을 수정하지 마십시오"는 모든 유형의 목록에 적용됩니다. –