Coleções Scala - Iterator

Um iterador não é uma coleção, mas sim uma maneira de acessar os elementos de uma coleção um por um. As duas operações básicas em umiterator it está next e hasNext. Uma chamada parait.next()retornará o próximo elemento do iterador e avançará o estado do iterador. Você pode descobrir se há mais elementos para retornar usando o Iteratorit.hasNext método.

A maneira mais direta de "percorrer" todos os elementos retornados por um iterador é usar um loop while. Vamos seguir o seguinte programa de exemplo.

Exemplo

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

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

a
number
of
words

Encontre o elemento de valor mínimo e máximo

Você pode usar it.min e it.maxmétodos para descobrir os elementos de valor mínimo e máximo de um iterador. Aqui, usamosita e itbpara executar duas operações diferentes porque o iterador pode ser percorrido apenas uma vez. A seguir está o programa de exemplo.

Exemplo

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

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

Maximum valued element 90
Minimum valued element 2

Encontre o comprimento do iterador

Você pode usar qualquer it.size ou it.lengthmétodos para descobrir o número de elementos disponíveis em um iterador. Aqui, usamos ita e itb para realizar duas operações diferentes porque o iterador pode ser percorrido apenas uma vez. A seguir está o programa de exemplo.

Exemplo

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

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

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