2011-08-05 3 views
4

목록에 반복기 객체를 만들면 목록을 탐색 할 때마다 새 iterator 객체를 만들어야합니까? 또는 목록에 추가되거나 제거 된 새 항목이 이전에 만든 iterator에 의해 자동으로 고려됩니까?목록을 탐색 할 때마다 새 iterator 객체 만들기

+0

왜 시도하지 않으시겠습니까? –

답변

8

Iterator은 1 회용 유틸리티입니다. 일반적으로 목록을 반복 할 때마다 새 목록이 필요합니다. 그러나 그것은 나쁜 것이 아닙니다. Iterator에는 상태가 거의 없습니다 (ArrayList의 경우 현재 색인을 보유하기위한 int 일 수도 있음).

반복자 호출간에 백업 목록이 수정되면 반복기 작업에서 ConcurrentModificationException이 표시됩니다. 항목을 추가하거나 제거하려면 Iterator 자체를 사용해야합니다.

관련 문제