开发者学堂课程【Scala 核心编程 - 进阶:迭代器使用和注意事项】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9060
迭代器使用和注意事项
内容介绍
一.迭代器的简介
二.应用案例小结
三.基本说明
四.总结说明
一.迭代器的简介
扩展-迭代器
通过 iterator 方法从集合获得一个迭代器,通过 while 循环和 for 表达式对集合进行遍历.
二.应用案例小结
1) iteratpr的构建实际是 Abstractlterator 的一个匿名子类,该子类提供了
def iterator: Iterator[A] = new Abstractlterator[A]{
var these = self
def hasNext: Boolean = !these.isEmpty
def next():A= */
2)该Abstractlterator子类提供了hasNextnext等方法
3)因此,我们可以使用while的方式,使用hasNext next方法变量
我们所有的集合都有继承迭代器,这个发生作用的时候就是如下的情况
三.基本说明
通过iterator方法从集合获得一个迭代器,通过while循环和for表达式对集合进行遍历,在某些情况下就要用迭代器。
学习使用迭代器来遍历. 应用案例
val iterator = List(1,2, 3, 4, 5).iterator II 得到迭代器
println(" 遍历方式1
while (iterator.hasNext){ 用 while 来循环,用副类来得到,这种迭代器要保证之前没有迭代过。
println(iterator.next()) 1 println(" 遍历方式2 for
for(enum <- iterator){
println(enum)//
[案例演示+代码说明
iterator 的继承关系,我们直接从这定位,new 一下,然后所有的东西都会实现,其中里面有两个很重要的方法,迭代器迭代之后就没有了,除非将它储存在一个位置,我们写一个代码,然后运行一下,看是否正确。
如图
首先第一种我们使用 while 循环,使用迭代器的 while 循环,这个是可以运行的,运行之后我们会发现什么都有,会发现不断的往下走,简单的处理一下,迭代器一个是while ,一个是 for 。
四.总结说明
结构器首先使用 abstractlterator 的一个匿名子类,该子类提供了/ ,以及 abstractlterator 子类提供了 hasnext next 等方法,因此,我们可以使用 while 的方式,使用 hasnext next 方法变量。
首先我们讲了基本说明和案例,迭代器的使用,也就是在 while 中和 for 中可以使用,把代码拷贝过来,对代码小结了一下,一共讲了三点,第一点是迭代器是怎么来的,第二点则是 next 。