scala

26 阅读2分钟
  • 迭代器iterator
  • 专门用来遍历挨个访问集合元素
  • 获取 每个元素都有一个迭代器对象 用它来去遍历集合
  • 迭代器.next()获取当前元素 移动迭代器
  • drop :跳过指定个数的元素
  • take:获取指定数量的元素
  • 迭代器是一次性的 next之后 就不能回头
  • dduplicate 复制迭代器

package iterator

object iterator01 {
  def main(args:Array[String]): Unit = {
    val list1 = scala.collection.immutable.List(1,2,3,4,5)

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

    }
  }
}


package iterator

object iterator02 {
  //迭代器iterator
  //专门用来遍历挨个访问集合元素
  //获取 每个元素都有一个迭代器对象 用它来去遍历集合
  //迭代器.next()获取当前元素 移动迭代器

  def main(args:Array[String]): Unit = {
    val list1 = List(1,2,3,4,5)
    //访问这五个元素
    //获取迭代器
    val it  = list1.iterator
    //输出当前元素
    println(it.next())//获取移动
    println(it.next())//获取移动
    println(it.next())//获取移动
  }
}


package iterator

object iterator03 {
  //迭代器iterator
  //专门用来遍历挨个访问集合元素
  //获取 每个元素都有一个迭代器对象 用它来去遍历集合
  //迭代器.next()获取当前元素 移动迭代器
//drop :跳过指定个数的元素
  //take:获取指定数量的元素
  def main(args:Array[String]): Unit = {
    val list1 = List(1,2,3,4,5)

    val it  = list1.iterator
    val it2 = it.take(3)//从当前位置开始 只获取三个元素
    while (it2.hasNext){
      println(it2.next())
    }
  }
}


package iterator

object iterator04 {
  //迭代器iterator
  //专门用来遍历挨个访问集合元素
  //获取 每个元素都有一个迭代器对象 用它来去遍历集合
  //迭代器.next()获取当前元素 移动迭代器
//drop :跳过指定个数的元素
  //take:获取指定数量的元素
  //迭代器是一次性的 next之后 就不能回头
  //dduplicate 复制迭代器
  def main(args:Array[String]): Unit = {
    val list1 = List(1,2,3,4,5)
    val it = list1.iterator

   val (it1,it2) = it.duplicate
    it1.next()
    it1.next()
    while (it1.hasNext){
      println(it1.next())
    }
    println("------")
    while (it2.hasNext){
      println(it2.next())
    }
  }
}


package iterator

object iterator05 {
  //迭代器iterator
  //专门用来遍历挨个访问集合元素
  //获取 每个元素都有一个迭代器对象 用它来去遍历集合
  //迭代器.next()获取当前元素 移动迭代器
//drop :跳过指定个数的元素
  //take:获取指定数量的元素
  //迭代器是一次性的 next之后 就不能回头
  //dduplicate 复制迭代器
  def main(args:Array[String]): Unit = {
    val list1 = List(1,2,3,4,5)

    val it = list1.iterator
    it.next()
    it.next()
//希望把剩余的内容装入一个新的list
    println(it.next())
    val newList = it.toList
    println(newList)
  }
}