迭代器iterator

7 阅读1分钟

next() 获取当前的元素,移动一次迭代器

hasNext 判断是否有下一个元素

drop(n) 从当前位置开始,跳过N个元素,它返回一个新的迭代器

take(n) 从当前位置开始,获取N个元素,它返回一个新的迭代器

duplicate 复制迭代器

toList 把迭代器中剩余的元素放在一个新的List中

zip 把俩个迭代器合并成一个新的迭代器,可以同步移动这两个迭代器,并以短的为准

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())
    }
  }

}
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())
    }
  }

}
def main(args: Array[String]): Unit = {
  val it=List(1,2,3,4,5,6,7,8,9,10).iterator
val (it1,it2)=it.duplicate
  val it3=it1.take(3)
  while(it3.hasNext){
    println(it3.next())
  }
  println("------------")

  while (it2.hasNext){
    println(it2.next())
  }
}