iterator
- 1.next() 获取当前的元素,移动一次迭代器
- 2.使用while循环,hasNest 判断有没有下一个元素?
- 3.drop(n) 从当前位置开始,跳过 n个 元素,它返回一个新的迭代器
- 4.take(n) 从当前位置开始,获取 n个 元素,它返回一个新的迭代器
- 5.duplicate 复制迭代器
- 6.toList 把迭代器中剩余的元素放在一个新的List中
- 7.zip 把两个迭代器合并成一个新的迭代器,可以同步移动这个两个迭代器,并且以短的为准
def main(args: Array[String]): Unit = {
val list = List(1,2,3,4,5)
list.foreach(ele => println(ele))
drop(n) take(n)
val it = list.iterator.drop(2).take(2)
while (it.hasNext){
println(it.next())
hasNest
def main(args: Array[String]): Unit = {
val it = List(1, 2, 3, 4).iterator
println(it.next())
println(it.next())
println(it.next())
println(it.next())
println(it.next())
val it1 = it.drop(2)
while (it1.hasNext){
println(it1.next())
}
}
take()
def main(args: Array[String]): Unit = {
val it = List(1, 2, 3, 4,5,6,7,8,9).iterator
val it1 = it.drop(2).take(4)
while (it1.hasNext){
println(it1.next())
}
}
duplicate
def main(args: Array[String]): Unit = {
val it = List(1, 2, 3, 4,5,6,7,8,9).iterator
val (it1,it2) = it.duplicate
val it3 = it1.take(3)
while (it3.hasNext){
println(it3.next())
}
println("---------------------")
while(it2.hasNext){
println(it2.next())
}
}
toList
val it = List(1, 2, 3, 4,5,6,7,8,9).iterator
it.next()
it.next()
val list1 = it.toList
println(list1)
zip
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)
}