目录
iterator迭代器
scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合
使用迭代器遍历集合
-
使用iterator方法可以从集合获取一个迭代器
-
迭代器的两个基本操作
- hasNext——查询容器中是否有下一个元素
- next——返回迭代器的下一个元素,如果没有,抛出NoSuchElementException
-
每一个迭代器都是有状态的(只能用一次, 内部指针只走一次, 走到最后就结束了, 不会再回到开头, 除非你再取得一个新的迭代器)
- 迭代完后保留在最后一个元素的位置
- 再次使用则抛出NoSuchElementException
-
可以使用while或者for来逐个返回元素
示例
定义一个列表,包含以下元素:1,2,3,4,5
使用while循环和迭代器,遍历打印该列表
参考代码
scala> val ite = a.iterator
ite: Iterator[Int] = non-empty iterator
scala> while(ite.hasNext) {
| println(ite.next)
| }
示例
定义一个列表,包含以下元素:1,2,3,4,5
使用for 表达式和迭代器,遍历打印该列表
参考代码
scala> val a = List(1,2,3,4,5)
a: List[Int] = List(1, 2, 3, 4, 5)
scala> for(i <- a) println(i)