欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 迭代器(转

迭代器(转

2024/12/22 0:35:56 来源:https://blog.csdn.net/2301_81657245/article/details/144413945  浏览:    关键词:迭代器(转

package Scala4

//迭代器

object hd {

  def main(args: Array[String]): Unit = {

    var li1 = List(1, 2, 3, 4, 5, 6)

    //依次输出List的元素

    //1.循环

    //li1.foreach(println)

    //2.迭代器

    //2.1创建一个迭代器(iterator)

    // val it1=li1.iterator.take(3)//.take(3)只取到前三个数

    val it1 = li1.iterator.drop(3) //.drop(3)去掉前三个数

    //2.2访问每个元素

    while (it1.hasNext) {

      println(it1.next())

 

 

 

      val map1=Map("湘"->"湖南省","川"->"四川省")

 

      val it2=map1.iterator

      while(it2.hasNext){

        println(it2.next())

      }

    }

  }

}

package Scala4

 

object hds {

  def main(args: Array[String]): Unit = {

// val li1 = List(1, 2, 3,4,5,6)

// val it1 = li1.iterator//创建一个迭代器

    //1.常用方法 next

    // println(it1.next())//作用:获取当前元素+移动迭代器

    // println(it1.next())//作用:获取当前元素+移动迭代器

    // println(it1.next())//作用:获取当前元素+移动迭代器

    //

    // println(it1.hasNext)

 

    //2.复制迭代器 duplicate

// val (it2, it3) = it1.duplicate

//

// while (it2.hasNext) {

// println(it2.next())

// }

// while (it3.hasNext) {

// println(it3.next())

// }

 

    //3.toList把剩余的元素转成列表

// it1.next()//移动一次迭代器

// it1.next()//移动一次迭代器

// val l2=it1.toList//把剩余的元素转成列表

// println(l2)

    //4 子迭代器

    // drop 会跳过指定数量的元素,返回一个新的迭代器

    //take 只处理当前开始的,指定数量的元素,返回一个新的迭代器

 

// val it2=it1.drop(3)

// val it3=it1.take(3)

// while (it3.hasNext){

// println(it3.next())

// }

    //只输出3,4,5要怎么做?

// val it5=it1.drop(2).take(3)

// while (it5.hasNext){

// println(it5.next())

// }

    //5.zip:拉链

    val it1=List("1","2","3").iterator

    val it2=List("one","two","three","four").iterator

 

    val it3=it1.zip(it2)

    while(it3.hasNext){

      val rs=it3.next()

      println(rs._1,"->",rs._2)

    }

  }

}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com