Руководство по Scala. Коллекции. Итераторы.

В данной статье мы рассмотрим итераторы в 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.