本文共 796 字,大约阅读时间需要 2 分钟。
Scala中的迭代器(Iterator)并不是一个集合,而是一种用于访问集合元素的方式。它提供了两个基本操作:next和hasNext。调用it.next()
会获取迭代器下一个元素,并更新迭代器状态;调用it.hasNext()
用于判断集合中是否还有未访问的元素。
为了逐个返回所有元素,最简单的方法是使用while
循环:
var inter = Iterator(1, 2, 3, 4)
while (inter.hasNext) { println(inter.next()) }
使用max
获取集合中的最大值:var iter = Iterator(1, 2, 3, 4) println(iter.max)
注意:同一个迭代器不能重复使用,调用相同方法或连续调用max
和min
会抛出错误。
使用min
获取集合中的最小值:var iter = Iterator(1, 2, 3, 4) println(iter.min)
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/