Kolekcje Scala - Iterator

Iterator nie jest zbiorem, ale raczej sposobem na dostęp do elementów kolekcji jeden po drugim. Dwie podstawowe operacje naiterator itnext i hasNext. Wezwanie doit.next()zwróci następny element iteratora i zwiększy stan iteratora. Możesz dowiedzieć się, czy jest więcej elementów do zwrócenia, korzystając z iteratorówit.hasNext metoda.

Najprostszym sposobem „przejścia przez” wszystkie elementy zwracane przez iterator jest użycie pętli while. Prześledźmy następujący przykładowy program.

Przykład

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

Zapisz powyższy program w formacie Demo.scala. Poniższe polecenia służą do kompilowania i wykonywania tego programu.

Komenda

\>scalac Demo.scala
\>scala Demo

Wynik

a
number
of
words

Znajdź element o wartości minimalnej i maksymalnej

Możesz użyć it.min i it.maxmetody znajdowania elementów o minimalnej i maksymalnej wartości z iteratora. Tutaj używaliśmyita i itbdo wykonania dwóch różnych operacji, ponieważ przez iterator można przejść tylko raz. Poniżej znajduje się przykładowy program.

Przykład

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 )
   }
}

Zapisz powyższy program w formacie Demo.scala. Poniższe polecenia służą do kompilowania i wykonywania tego programu.

Komenda

\>scalac Demo.scala
\>scala Demo

Wynik

Maximum valued element 90
Minimum valued element 2

Znajdź długość iteratora

Możesz użyć jednego z nich it.size lub it.lengthmetody, aby znaleźć liczbę elementów dostępnych w iteratorze. Tutaj użyliśmy ita i itb do wykonania dwóch różnych operacji, ponieważ przez iterator można przejść tylko raz. Poniżej znajduje się przykładowy program.

Przykład

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 )
   }
}

Zapisz powyższy program w formacie Demo.scala. Poniższe polecenia służą do kompilowania i wykonywania tego programu.

Komenda

\>scalac Demo.scala
\>scala Demo

Wynik

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