package iterator
object iterator01 {
def main(args: Array[String]): Unit = {
val list = List(1,2,3,4,5)
list.foreach(ele => println(ele))
val it = list.iterator.drop(2).take(2)
while(it.hasNext){
println(it.next())
}
}
}

-
- next() 获取当前的元素, 移动一次迭代器
-
- hasNext 判断是否有下一个元素
-
- drop(n) 从当前位置开始, 跳过 n 个元素, 它返回一个新的迭代器
package iterator
object iterator02 {
def main(args: Array[String]): Unit = {
val it = List(1,2,3,4).iterator
val it1 = it.drop(2)
while(it1.hasNext){
println(it1.next())
}
}
}

-
- next() 获取当前的元素, 移动一次迭代器
-
- hasNext 判断是否有下一个元素
-
- drop(n) 从当前位置开始, 跳过 n 个元素, 它返回一个新的迭代器
-
- take(n) 从当前位置开始, 获取 n 个元素, 它返回一个新的迭代器
-
- duplicate 复制当前迭代器
-
- toList 把迭代器中剩余的元素放在一个新的List中
-
- zip 把两个迭代器合并为一个新的迭代器, 可以同时移动这两个迭代器, 并且可以同时访问
package iterator
object iterator03 {
def main(args: Array[String]): Unit = {
val it1 = List(1,2,3,4,5,6).iterator
val it2 = List("one", "two", "three", "four", "five").iterator
val it3 = it1.zip(it2)
while(it3.hasNext){
val rs = it3.next()
println(rs._1, rs._2)
}
}
}