Scala Collections - Iterator
Un iteratore non è una raccolta, ma piuttosto un modo per accedere agli elementi di una raccolta uno per uno. Le due operazioni di base su un fileiterator it siamo next e hasNext. Una chiamata ait.next()restituirà l'elemento successivo dell'iteratore e farà avanzare lo stato dell'iteratore. Puoi scoprire se ci sono più elementi da restituire usando Iteratorit.hasNext metodo.
Il modo più semplice per "scorrere" tutti gli elementi restituiti da un iteratore è usare un ciclo while. Seguiamo il seguente programma di esempio.
Esempio
object Demo {
def main(args: Array[String]) {
val it = Iterator("a", "number", "of", "words")
while (it.hasNext){
println(it.next())
}
}
}
Salva il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.
Comando
\>scalac Demo.scala
\>scala Demo
Produzione
a
number
of
words
Trova elemento con valore minimo e massimo
Puoi usare it.min e it.maxmetodi per scoprire gli elementi con valore minimo e massimo da un iteratore. Qui, abbiamo usatoita e itbper eseguire due diverse operazioni perché l'iteratore può essere attraversato una sola volta. Di seguito è riportato il programma di esempio.
Esempio
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 )
}
}
Salva il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.
Comando
\>scalac Demo.scala
\>scala Demo
Produzione
Maximum valued element 90
Minimum valued element 2
Trova la lunghezza dell'iteratore
Puoi usare entrambi it.size o it.lengthmetodi per scoprire il numero di elementi disponibili in un iteratore. Qui, abbiamo usato ita e itb per eseguire due diverse operazioni perché l'iteratore può essere attraversato solo una volta. Di seguito è riportato il programma di esempio.
Esempio
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 )
}
}
Salva il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.
Comando
\>scalac Demo.scala
\>scala Demo
Produzione
Value of ita.size : 6
Value of itb.length : 6