Scala 迭代器(Iterator)


1、簡述

  在Scala中,迭代器(Iterator)不是一個集合,是構建了一種訪問集合的方法。當構建一個集合需要很大的開銷時(比如把文件得所有行都讀取到內存),迭代器就發揮了很好的作用。

  迭代器有兩個操作,next 和hasNext。next返回迭代器的下一個元素,hasNext用於檢查是否還有下一個元素。

  通常需要用while和for循環遍歷迭代器。

2、while循環

 

scala> val iter = Iterator("Hadoop","Spark","Scala")
iter: Iterator[String] = non-empty iterator

scala> while (iter.hasNext) {
     |     println(iter.next())
     | }
Hadoop
Spark
Scala

 

提示:上述執行操作結束后,迭代器會移動至末尾,就不能再用了,如果繼續執行一次print(iter.next())就會報錯。

另外,上述代碼中,使用iter.next 和 iter.next() 都是一樣的,但是iter.hasNext 就不能加括號。

 

3、for 循環

scala> val iter = Iterator("Hadoop","Spark","Scala")
iter: Iterator[String] = non-empty iterator

scala> for (elem <- iter) {
     |     println(elem)
     | }
Hadoop
Spark
Scala

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM