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