3 отговора. Не можете да модифицирате колекция, докато я повтаряте с помощта на Iterator, с изключение на Iterator. Премахване. Това ще работи, освен когато списъкът започне итерацията празен, в който случай няма да има предишен елемент.
Можем ли да променим колекцията по време на повторение?
В цикъла for-each, не можем да модифицираме колекция, това ще хвърли ConcurrentModificationException от друга страна с итератор, можем да модифицираме колекция.
Можем ли да добавим елемент към ArrayList, докато повтаряме?
3. ArrayList listIterator – Добавяне/Премахване. ListIterator поддържа добавяне и премахване на елементи в списъка, докато го повторяме.
Как добавяте към списък, докато повтаряте?
Използвайте списъка. append, за да добавите елементи към списък, докато итерирате списъка
- a_list=["a", "b", "c"]
- list_length=len(a_list)
- за i в обхват(дължина_списък):
- a_list. append("Нов елемент")
- print(a_list)
Можем ли да добавяме елементи с помощта на итератор?
Ръководството за Java от Sun предполага, че това не е възможно: "Обърнете внимание, че Iterator. remove е единственият безопасен начин за промяна на колекция по време на итерация; поведението е неопределено, ако основната колекция е променена по някакъв друг начин, докато итерацията е в ход."