You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala:如何通过遍历迭代器的for循环快速创建列表?

当然有简便方法啦!

Scala里的Iterator类自带了非常顺手的工具方法,完全不用手动遍历逐个添加元素到列表里。针对你这个生成10个随机Double的需求,一行代码就能搞定~

先看你的迭代器定义(我补了import语句让它能直接运行):

import scala.util.Random

val randDoubleIterator = new Iterator[Double] {
  override def hasNext: Boolean = true
  override def next(): Double = Random.nextDouble
}

要生成包含10个随机值的列表,只需要调用take和toList方法:

val myList: List[Double] = randDoubleIterator.take(10).toList

原理说明

  • take(10):从你的无限迭代器中取出前10个元素,返回一个有限的新迭代器(这个迭代器只会生成10个元素,之后hasNext就会返回false)。
  • toList:把这个有限迭代器里的所有元素转换成List类型,一步到位完成列表创建。

拓展小技巧

如果之后需要对生成的随机值做一些转换,还可以链式调用其他迭代器方法,比如生成10个0到100的随机整数列表:

val randIntList = randDoubleIterator.map(_ * 100).take(10).map(_.toInt).toList

内容的提问来源于stack exchange,提问作者BlueTriangles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:40:29