当使用诸如map, flatMap,+等功能 API 操作 Kotlin 序列时,计算的中间结果是否会被缓存,因此在第二次评估时不会重新计算?
如果不是,在某些情况下将Lists替换为 s 可能会导致复杂性呈指数级增长,并且官方文档Sequence中使用的“懒惰”一词似乎不足以区分这两种行为。
换句话说,与 Scala 相比,KotlinSequence更像 Scala Streams/ LazyLists(其中“一旦计算,一个值将保持计算并被重用。或者,如您所说,值被缓存。”)或Views(其中“所有每次需要从中获取元素时都会重新应用转换”)?(引自What is the difference between view, stream and iterator? | FAQ | Scala Documentation)