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