В данной статье мы рассмотрим итераторы в Scala. Сам по себе, итератор не является коллекцией, но он обеспечивает последовательный доступ ко всем элементам коллекции.
Данный класс содержит два базовых метода: next и hasNext (по аналогии с Iterator в Java).
Для понимания того, как это работает на практике, рассмотрим простой пример:
package net.proselyte.scalatutorial.collections
/**
* Simple Scala class that demonstrates Iterator in Scala.
*
* @author Eugene Suleimanov
*/
object IteratorDemo {
def main(args: Array[String]) {
var simpleIterator = Iterator("This ", "is ", "simple ", "iterator.");
while (simpleIterator.hasNext) {
print(simpleIterator.next());
}
simpleIterator = Iterator("This ", "is ", "simple ", "iterator.");
println();
println("Length of simpleIterator: " + simpleIterator.length);
var integerIterator = Iterator(1, 2, 3, 4, 5, 6);
println();
println("Min value of integerIterator: " + integerIterator.min);
integerIterator = Iterator(1, 2, 3, 4, 5, 6);
println("Max value of integerIterator: " + integerIterator.max);
}
}
В результате выполнения данной программы мы получим следующий вывод в консоль:
This is simple iterator.
Length of simpleIterator: 4
Min value of integerIterator: 1
Max value of integerIterator: 6
Process finished with exit code 0
На этом мы заканчиваем изучение итератора в Scala.