scala 中迭代器

42 阅读2分钟

(一)迭代器的定义

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

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

package caseclass
/**
 *  迭代器
 * */

object book2 {
  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
    //hasNext
    //next()
    while (iterator.hasNext){
      println(iterator.next())
    }

  }

}

(二)迭代器的常见方法

(1) iterator方法创建对应的迭代器。这个迭代器可以用于遍历列表中的元素。

(2) hasNext方法检查是否还有下一个元素。false,true

(3) next方法获取一个元素

package caseclass
/**
 *  迭代器
 *  1.next()获取下一个,移动迭代器的位置。如果没有下一个,就会报错
 *  2.hasNext判断当前是否存在下一个元素:false true
 * */

object book2 {
  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.hasNext())//当前是否还有 下一个元素
    // 第6次使用next,报错!!!
    println(it.next())

  }

}
package caseclass
/**
 *  迭代器
 *  1.next()获取下一个,移动迭代器的位置。如果没有下一个,就会报错
 *  2.hasNext判断当前是否存在下一个元素:false true
 *  3.drop() 跳过指定数里的元素,返回一个新的迭代器
 *  4.take() 获取指定数里的元素,返回一个新的迭代器
 * */

object book2 {
  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.hasNext())//当前是否还有 下一个元素
    // 第6次使用next,报错!!!
   // println(it.next())
    val it1=List(1,2,3,4,5).iterator
    //跳过两个元素
   val it2 =it1.drop(2)
    while (it2.hasNext){}
    println(it2.next())//3,4,5


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

}

完结撒花 !!!!!!!!!! • 制作不易 希望·一键三连 在此感谢关注的粉丝宝宝 • 新来的宝宝可以关注下主播哟!!!!!