Collections Scala - Itérateur

Un itérateur n'est pas une collection, mais plutôt un moyen d'accéder aux éléments d'une collection un par un. Les deux opérations de base sur uniterator it sont next et hasNext. Un appel àit.next()renvoie l'élément suivant de l'itérateur et avance l'état de l'itérateur. Vous pouvez savoir s'il y a plus d'éléments à renvoyer en utilisant Iteratorit.hasNext méthode.

Le moyen le plus simple de "parcourir" tous les éléments renvoyés par un itérateur est d'utiliser une boucle while. Suivons l'exemple de programme suivant.

Exemple

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

Enregistrez le programme ci-dessus dans Demo.scala. Les commandes suivantes sont utilisées pour compiler et exécuter ce programme.

Commander

\>scalac Demo.scala
\>scala Demo

Production

a
number
of
words

Trouver l'élément valorisé Min & Max

Vous pouvez utiliser it.min et it.maxméthodes pour trouver les éléments valorisés minimum et maximum à partir d'un itérateur. Ici, nous avons utiliséita et itbpour effectuer deux opérations différentes car l'itérateur ne peut être parcouru qu'une seule fois. Voici l'exemple de programme.

Exemple

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

Enregistrez le programme ci-dessus dans Demo.scala. Les commandes suivantes sont utilisées pour compiler et exécuter ce programme.

Commander

\>scalac Demo.scala
\>scala Demo

Production

Maximum valued element 90
Minimum valued element 2

Trouvez la longueur de l'itérateur

Vous pouvez utiliser soit it.size ou it.lengthméthodes pour connaître le nombre d'éléments disponibles dans un itérateur. Ici, nous avons utilisé ita et itb pour effectuer deux opérations différentes car l'itérateur ne peut être parcouru qu'une seule fois. Voici l'exemple de programme.

Exemple

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

Enregistrez le programme ci-dessus dans Demo.scala. Les commandes suivantes sont utilisées pour compiler et exécuter ce programme.

Commander

\>scalac Demo.scala
\>scala Demo

Production

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