Коллекции Scala - Итератор

Итератор - это не коллекция, а способ доступа к элементам коллекции один за другим. Две основные операции наiterator it находятся next и hasNext. Звонок вit.next()вернет следующий элемент итератора и продвинет состояние итератора. Вы можете узнать, есть ли еще элементы для возврата, используя Iteratorit.hasNext метод.

Самый простой способ «перебрать» все элементы, возвращаемые итератором, - это использовать цикл while. Давайте следовать следующей программе-примеру.

пример

object Demo {
   def main(args: Array[String]) {
      val it = Iterator("a", "number", "of", "words")
      while (it.hasNext){
         println(it.next())
      }
   }
}

Сохраните указанную выше программу в Demo.scala. Следующие команды используются для компиляции и выполнения этой программы.

Команда

\>scalac Demo.scala
\>scala Demo

Вывод

a
number
of
words

Найти элемент с минимальным и максимальным значением

Вы можете использовать it.min и it.maxметоды, чтобы узнать минимальное и максимальное значения элементов от итератора. Здесь мы использовалиita и itbдля выполнения двух разных операций, потому что итератор может быть пройден только один раз. Ниже приведен пример программы.

пример

object Demo {
   def main(args: Array[String]) {
      val ita = Iterator(20,40,2,50,69, 90)
      val itb = Iterator(20,40,2,50,69, 90)
      println("Maximum valued element " + ita.max )
      println("Minimum valued element " + itb.min )
   }
}

Сохраните указанную выше программу в Demo.scala. Следующие команды используются для компиляции и выполнения этой программы.

Команда

\>scalac Demo.scala
\>scala Demo

Вывод

Maximum valued element 90
Minimum valued element 2

Найдите длину итератора

Вы можете использовать либо it.size или же it.lengthметоды, чтобы узнать количество элементов, доступных в итераторе. Здесь мы использовали ita и itb для выполнения двух разных операций, потому что итератор можно пройти только один раз. Ниже приведен пример программы.

пример

object Demo {
   def main(args: Array[String]) {
      val ita = Iterator(20,40,2,50,69, 90)
      val itb = Iterator(20,40,2,50,69, 90)
      println("Value of ita.size : " + ita.size )
      println("Value of itb.length : " + itb.length )
   }
}

Сохраните указанную выше программу в Demo.scala. Следующие команды используются для компиляции и выполнения этой программы.

Команда

\>scalac Demo.scala
\>scala Demo

Вывод

Value of ita.size : 6
Value of itb.length : 6