Kolekcje Scala - Iterator
Iterator nie jest zbiorem, ale raczej sposobem na dostęp do elementów kolekcji jeden po drugim. Dwie podstawowe operacje naiterator it są next 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