1. Iterable
1.1 概述
Iterable代表一个可以迭代的集合, 它继承了Traversable特质, 同时也是其他集合的父特质. 最重要的是, 它定义了获取迭代器(iterator)的方法: def iterator: Iterator[A] , 这是一个抽象方法, 它的具体实现类需要实现这个方法,从而实现 迭代的返回集合中的元素 .
1.2 分类
Traversable提供了两种遍历数据的方式:
-
通过 iterator()方法实现, 迭代访问元素的功能.
这种方式属于 主动迭代 , 我们可以通过hasNext()检查是否还有元素, 并且可以主动的调用next()方法获取元素, 即: 我们可以自主的控制迭代过程.
-
通过 foreach()方法实现, 遍历元素的功能.
这种方式属于 被动迭代 , 我们只提供一个函数, 并不能控制遍历的过程, 即: 迭代过程是由集合本身控制的.
1.3 案例一: 遍历集合
需求
- 定义一个列表, 存储1, 2, 3, 4, 5这五个数字.
- 通过iterator()方法遍历上述的列表.
- 通过foreach(