Scala的迭代器(一)

45 阅读1分钟

迭代器的定义

Scala Iterator 不是一个集合,它是一种用于访问集合的方法。

如果要访问集合,需要通过集合对应的迭代器调用迭代器的方法来访问。另外还可以利用集合本身提供的方法访问集合。

迭代器使用

需要遍历集合Set,则需要先遍历集合对应的迭代器。

/*
*  List(1,2,3,4,5)
* */
object Iterator1 {
  def main(args: Array[String]): Unit = {

    val list1 = scala.collection.immutable.List(1,2,3,4,5)

//    list1.foreach(ele =>{
//      println(ele)
//    })

    // 跳过list的前面两个元素,而输出随后的两个元素
    val it = list1.iterator
    val it1 = it.drop(2).take(2)

    //如果有下一个元素
    while(it1.hasNext){ // 3 4
      // 访问下一个元素
      println(it1.next())
    }
  }
}

迭代器不可以复用要,当遍历完迭代器后,会自动结束,即不可以对同一个迭代器遍历两遍。

当迭代器使用foreach方法打印时,第一次输出正常,第二次会返回空