Scala Koleksiyonları - Yineleyici

Yineleyici bir koleksiyon değil, bir koleksiyonun öğelerine tek tek erişmenin bir yoludur. Bir üzerinde iki temel işlemiterator it vardır next ve hasNext. Bir çağrıit.next()yineleyicinin sonraki öğesini döndürür ve yineleyicinin durumunu ilerletir. Yineleyici'yi kullanarak döndürülecek daha fazla öğe olup olmadığını öğrenebilirsiniz.it.hasNext yöntem.

Bir yineleyici tarafından döndürülen tüm öğeleri "adım adım ilerletmenin" en kolay yolu bir while döngüsü kullanmaktır. Aşağıdaki örnek programı takip edelim.

Misal

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

Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.

Komut

\>scalac Demo.scala
\>scala Demo

Çıktı

a
number
of
words

Min ve Maks Değerli Öğeyi Bul

Kullanabilirsiniz it.min ve it.maxbir yineleyiciden minimum ve maksimum değerli öğeleri bulma yöntemleri. Burada kullandıkita ve itbYineleyici yalnızca bir kez geçilebildiğinden iki farklı işlem gerçekleştirmek için. Örnek program aşağıdadır.

Misal

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

Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.

Komut

\>scalac Demo.scala
\>scala Demo

Çıktı

Maximum valued element 90
Minimum valued element 2

Yineleyicinin Uzunluğunu Bulun

İkisini de kullanabilirsiniz it.size veya it.lengthbir yineleyicide bulunan öğelerin sayısını bulma yöntemleri. Burada ita ve itb'yi iki farklı işlemi gerçekleştirmek için kullandık çünkü yineleyici yalnızca bir kez geçilebilir. Örnek program aşağıdadır.

Misal

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

Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.

Komut

\>scalac Demo.scala
\>scala Demo

Çıktı

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