本文介绍Scala中的迭代器Iterator。
1、基本知识
Scala中迭代器Iterator允许用户通过迭代的方式访问数据集。
一个迭代器的核心操作就两个:next 和 hasNext。
hasNext检查后续元素是否存在,next()返回后续的元素,
2、Iterator迭代器的声明/定义方法
//in scala
val car = Iterator("Santro", "Punto", "WagonR", "Polo", "Audi")
3、Iterator迭代器的使用
两个核心操作:hasNext 、 next()
//in scala
object Test {
def main(args: Array[String]) {
val car = Iterator("Santro", "Punto", "WagonR", "Polo", "Audi")
while (car.hasNext) {
println(car.next())
}
}
4、Iterator迭代器的其他用法
Iterator.size 获取迭代器的大小/长度
Iterator.length 获取迭代器的大小/长度
Iterator.min 获取迭代器中的最小元素
Iterator.max 获取迭代器中的最大元素
Iterator.buffered 从迭代器中创建buffered迭代器
//in scala
object Test {
def main(args: Array[String]) {
val m1 = Iterator(12,45,67,89)
val m2 = Iterator(44,66,77,88)
println("Smallest element " + m1.min ) //1、查看迭代器中的最小元素
println("Largest element " + m2.max ) //2、查看迭代器中的最大元素
println(m1.buffered) //3、从迭代器中创建一个buffered迭代器??? 没用过
def f(x:Int)={
x*2
}
m1.foreach(f) //4、迭代器中foreach的用法
println(m1)
println(m1.indexOf(67)) //5、查看元素在迭代器中的索引
}
}