Если не использовать квадратные скобки для правильной идентификации блока for
, у вас есть логический недостаток в небольшом фрагменте кода.
Вы написали
, который хранит ArrayListпечать первого элемента 3 раза, а затем печать остальных элементов
Это заставляет меня думать, что ваш код на самом деле не соответствует тому, чего вы на самом деле хотите достичь.
Это абсолютно нормально вначало, не волнуйся.Кажется, вы хотели бы напечатать все WrittenWork
.
. Для этого вы использовали ( улучшенный ) for
цикл
for (WrittenWork w : products)
, но вы никогдаучитывается локальная переменная w
.
В фоновом режиме происходит то, что для вас создается Iterator<WrittenWork>
( JavaDoc ), а на каждой итерации next *Элемент 1027 * в списке products
предоставляется вам через w
.
Вам просто нужно использовать эту переменную w
для печати всех элементов products
.
The Iterator
исчерпает себя, и цикл остановится.
Насколько вам известно, этот стиль цикла for
for (WrittenWork w : products) { ... }
эквивалентен
for (Iterator<WrittenWork> iterator = products.iterator(); iterator.hasNext(); ) {
final WrittenWork w = iterator.next();
...
}
Youможно увидеть проверенное состояние iterator.hasNext();
.