Core - 2

Что произойдет при вызове Iterator.next() без предварительного вызова Iterator.hasNext()?


При вызове метода `next()` интерфейса `Iterator` без предварительного вызова метода `hasNext()` , будет выброшено исключение `NoSuchElementException` . Метод `hasNext()` используется для проверки наличия следующего элемента в итераторе. Он возвращает `true` , если в итераторе есть следующий элемент, и `false` , если элементов больше нет. Поэтому перед вызовом метода `next()` рекомендуется всегда проверять наличие следующего элемента с помощью метода `hasNext()` . Если вызвать метод `next()` без предварительной проверки с помощью `hasNext()` , итератор не будет знать, есть ли следующий элемент или нет, и поэтому выбросит исключение `NoSuchElementException` . Чтобы избежать этой ситуации, всегда рекомендуется сначала вызывать `hasNext()` , чтобы проверить наличие следующего элемента, прежде чем вызывать `next()` .


Копировать ссылку