Цитата:
Сообщение от
Hyper
В коде логическая ошибка. Перед iterator.next() необходим else.
На самом деле результат одинаков и так, и так (по крайней мере в 3.0 SP4). Думаю, что класс ListIterator всё сам корректно обрабатывает и не делает казалось бы лишний next для уже удаленного элемента.
Что касается визуального восприятия кода, то добавление else, на мой взгляд, затуманит наглядность, так как глаз привык к шаблону вида:
X++:
while (iterator.more())
{
// bla-bla-bla
iterator.next();
}
А пряча продвижение указателя за else, можно потерять уверенность, что будут обойдены все элементы коллекции.
Но в любом случае все претензии по данному фрагменту - авторам "Inside"