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

 

posted @ 2018-12-06 14:52  因为专注。所以专业  阅读(3339)  评论(0编辑  收藏  举报