Iterable新增的接口不多,这篇是Iterable API的用例,还是来一张scala抽象接口图:
注意:迭代器有一个很重要的特点是,数据迭代一次就不存在了
创建两个Iterable,默认实现是List
val i1 = Iterable(1,2,3,4,5)
val i2 = Iterable(6,7,8,9,10)
1.抽象方法
//迭代输出每个数据 结果:12345
i1.iterator.foreach(print(_))
//获取List的迭代器
val iterator = i1.iterator
//判断是否还有数据 结果:12345
while(iterator.hasNext) {
//next获取下一个数据
print(iterator.next())
}
2.其它迭代器
//按n个元素拆分开,组成多个迭代器, Iterator[Iterable[Int]]
//例子按2个元素分,分成了3个Iterable,结果:Iterator(Iterable(1,2),Iterable(3,4),Iterable(5))
val groupIter = i1.grouped(2)
//对每个迭代器进行打印
/**
* 结果: