Scala—迭代器

33 阅读1分钟

一、迭代器的定义

迭代器是一种用于遍历集合元素的对象。它提供了统一的方式来访问各种集合类 型(如列表、映射、集合等)中的元素,而不需要了解集合的内部结构。

在 Scala 中,迭代器是一种抽象的概念,它有特定的接口和方法来实现元素的遍历。

二、迭代器的基本使用

def main(args: Array[String]): Unit = {
  val list1 = List(1,2,3,4,5)

  list1.foreach(ele => println(ele))

  // 3,4

  val iterator = list1.iterator//
  //
  while (iterator.hasNext) {
    println(iterator.next())
  }
}

三、迭代器的常见方法

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

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

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)

println(it.next())
  • 3.drop() 跳过指定数量的元素,返回一个新的迭代器
val it1=List(1,2,3,4,5).iterator
// 跳过前两个元素
val it2 = it1.drop(2)
while (it2.hasNext) {
  println(it2.next())  // 3 4 5
}
  • 4.take() 获取指定数量的元素,返回一个新的迭代器
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
 }