迭代器(转

server/2024/12/15 18:23:06/

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)

    }

  }

}


http://www.ppmy.cn/server/150407.html

相关文章

21个Python脚本自动执行日常任务(2)

引言 作为编程领域摸爬滚打超过十年的老手,我深刻体会到,自动化那些重复性工作能大大节省我们的时间和精力。 Python以其简洁的语法和功能强大的库支持,成为了编写自动化脚本的首选语言。无论你是专业的程序员,还是希望简化日常工…

RabbitMQ基本使用以及整合Java项目

RabbitMQ安装 此步骤可以参考CSDN上其他博文&#xff0c;有写得很详细的&#xff0c;此处不做过多安装问题&#xff0c;主要讲述怎么使用。 项目整合 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-sta…

vue前端获取电脑本机的mac和ip地址

vue 前端 使用 node 里的 os 模块,来获取主机mac和IP地址 需要注意的是这篇教程只能获取本地的&#xff0c;打包到服务器上也是服务器的。需要获取不同使用者的客户端mac&#xff0c;看我这篇。获取客户端不同的mac地址 一、根目录创建 getNetworkInfo.js 脚本文件 const os …

Axios结合Typescript 二次封装完整详细场景使用案例

Axios 是一个基于 promise 的 HTTP 客户端&#xff0c;用于浏览器和 node.js。二次封装 Axios 主要是为了统一管理 HTTP 请求&#xff0c;例如设置统一的请求前缀、头部、超时时间&#xff0c;统一处理请求和响应的格式&#xff0c;以及错误处理等。 以下是一个使用 TypeScrip…

体验 Whisper ,本地离线部署自己的 ASR 语音识别服务

需求背景 最近看视频&#xff0c;过几天后经常忘记内容&#xff0c;所以有了把重点内容总结提炼到自己知识库的需求&#xff0c;这涉及到了提取视频中的音频数据、离线语音识别等功能。 提取视频中的音频数据&#xff0c;可以使用格式工厂或 FFmpeg 等工具&#xff0c; FFmpe…

操作系统(7)处理机调度

前言 操作系统中的处理机调度是一个核心概念&#xff0c;它涉及如何从就绪队列中选择进程并将处理机分配给它以运行&#xff0c;从而实现进程的并发执行。 一、调度的层次 高级调度&#xff08;作业调度&#xff09;&#xff1a; 调度对象&#xff1a;作业&#xff08;包含程序…

MR30分布式IO在新能源领域加氢站的应用

导读 氢能被誉为21世纪最具发展潜力的清洁能源&#xff0c;氢能科技创新和产业发展持续得到各国青睐。氢能低碳环保&#xff0c;燃烧的产物只有水&#xff0c;是用能终端实现绿色低碳转型的重要载体。氢能产业链分别为上游制氢、中游储运以及下游用氢。上游制氢工艺目前大部分…

MFC:CFile类的使用

为方便对文件操作&#xff0c;MFC提供了CFile类用于文件的读写操作&#xff0c;具体包括文件数据的读取、写入以及文件内部指针的移动等。打开文件时&#xff0c;会有一个指向该文件的指针&#xff0c;同时还生成一个指向具体数据的内部指针&#xff0c;用于记录读取或写入的位…