Scala的迭代器

复制代码
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)
    }
  }
}
相关推荐
星晨羽3 分钟前
esayExcel根据模板导出包含图片
java·开发语言·windows
Say Bay To The Bugs4 分钟前
EasyExcel 使用多线程按顺序导出数据
开发语言·excel
机器懒得学习5 分钟前
Python & PyQt5 实现 .his 文件批量转 Excel 工具
开发语言·python·excel
fs哆哆8 分钟前
C#编程:优化【性别和成绩名次】均衡分班
开发语言·c#
可靠百灵鸟12 分钟前
Python 操作 Excel 表格从简单到高级用法
开发语言·python·excel
AI原吾12 分钟前
探索MoviePy:Python视频编辑的瑞士军刀
开发语言·python·音视频·moviepy
数据小小爬虫35 分钟前
使用Java爬虫获取淘宝商品类目API返回值
java·开发语言
友大冰1 小时前
Go 语言已立足主流,编程语言排行榜24 年 11 月
开发语言·后端·golang
尘浮生1 小时前
Java项目实战II基于微信小程序的原创音乐小程序(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信小程序·小程序·maven
爱跑步的一个人1 小时前
STL-常用排序算法
开发语言·c++·排序算法