迭代器

37 阅读1分钟

1.next() 获取下一个,移动迭代器的位置。如果没有下一个, 就报错

2.hasNext 判断当前是否存在下一个元素:false、true

object class24 {
 def main(args: Array[String]): Unit = {
   def main(args: Array[String]): Unit = {
     val it = List(1,2,3,4,5).iterator
     println(it.next())
     println(it.next())
     println(it.next())
     println(it.next())
     println(it.next())

     println(it.hasNext) // 当前是否还有 下一个元素

     // 第6次使用next,报错!!!
     println(it.next())
 }

3.drop() 跳过指定数里的元素,返回一个新的迭代器

4.take() 获取指定数量的元素,返回一个新的迭代器

 
val it1=List(1,2,3,4,5).iterator
  // 跳过两个元素
  val it2 = it1.drop(2)
  while(it2.hasNext) {
    println(it2.next())
  }
  val it3=List(1,2,3,4,5).iterator
  it3.next()
  it3.next()

  val it4 = it3.take(2) // 获取指定数量的元素,返回一个新的迭代器
  while(it4.hasNext){
    println(it4.next()) // 3,4
}