博客
关于我
Scala迭代器iterator
阅读量:573 次
发布时间:2019-03-11

本文共 796 字,大约阅读时间需要 2 分钟。

定义:

Scala中的迭代器(Iterator)并不是一个集合,而是一种用于访问集合元素的方式。它提供了两个基本操作:nexthasNext。调用it.next()会获取迭代器下一个元素,并更新迭代器状态;调用it.hasNext()用于判断集合中是否还有未访问的元素。

为了逐个返回所有元素,最简单的方法是使用while循环:

var inter = Iterator(1, 2, 3, 4)
while (inter.hasNext) { println(inter.next()) }

常用操作

max

使用max获取集合中的最大值:var iter = Iterator(1, 2, 3, 4) println(iter.max)

注意:同一个迭代器不能重复使用,调用相同方法或连续调用maxmin会抛出错误。

min

使用min获取集合中的最小值:var iter = Iterator(1, 2, 3, 4) println(iter.min)

find

find方法用于查找符合条件的元素:

def find(p: (A) => Boolean): Option[A]返回符合条件的第一个元素或

。找到后迭代器会跳转到下一个元素,如果没有找到则跳转到末尾。

示例:var iter = Iterator(1, 2, 3, 4) iter.find(_ > 1) while (iter.hasNext) { println(iter.next()) }

另一个示例:var iter = Iterator(1, 2, 3, 4) iter.find(_ > 2) while (iter.hasNext) { println(iter.next()) }

这些方法提供了对集合元素进行高效操作的能力,但请注意同一个迭代器只能使用一次,避免重复使用或混合使用多个方法导致错误。

转载地址:http://olmvz.baihongyu.com/

你可能感兴趣的文章
【视频教程】EasyNVR如何将老版本的EasyNVR的数据迁移到4.0.0以上版本
查看>>
qt中转到槽后如何取消信号与槽关联
查看>>
qt问题记录-spin box与double spin box
查看>>
移动端事件
查看>>
css 图片按比例缩放
查看>>
小程序form表单里面buton点击事件失效
查看>>
微信小程序placeholder设置自定义样式
查看>>
安装npm install --save vue-scroller失败
查看>>
spring-day01
查看>>
spring的值注入与组件扫描
查看>>
【leetcode】349. 两个数组的交集(intersection-of-two-arrays)(哈希)[简单]
查看>>
C#跨窗体程序调用方法的具体操作
查看>>
C#中创建Android项目
查看>>
C#使用OpenCV(OpenCVSharp)
查看>>
统计学之变异系数与是非标志
查看>>
统计学之偏度系数和峰度系数
查看>>
力扣数据库:删除重复的电子邮箱
查看>>
leetcode 102 剑指Offer 32 二叉树的层次遍历
查看>>
关于继承的一些基本知识
查看>>
如何批量下载新浪微博相册,一键下载微博相册原图
查看>>