【发布时间】:2021-09-13 22:05:59
【问题描述】:
我正在对非常大的 Kotlin 序列进行操作,我在序列的每一步都执行我的逻辑,我永远不需要将整个序列保存在内存中。
目前我的代码是这样的
hugeSequence
.filter { ... }
.map {...... }
.onEach {
callExpensiveOperation(it)
}
.toList() <- this feels wrong
底部的toList() 是terminal 运算符,但我担心Kotlin 可能会尝试在内存中创建一个巨大的列表,然后才意识到我什至没有分配该操作的结果值。
我可以使用其他终端操作符来触发序列开始吗?
【问题讨论】: