为什么在 Kotlin 中有多种方法可以做同样的事情,这是有原因的吗?
val viaSequence = items.asSequence()
.filter { it%2 == 0 }
.map { it*2 }
.toList()
println(viaSequence)
val viaIterable = items.asIterable()
.filter { it%2 == 0 }
.map { it*2 }
.toList()
println(viaIterable)
val viaStream = items.stream()
.filter { it%2 == 0 }
.map { it*2 }
.toList()
println(viaStream)
Run Code Online (Sandbox Code Playgroud)
我知道以下代码在每个步骤上都会创建一个列表,这会增加 GC 的负载,因此应该避免:
items.filter { it%2 == 0 }.map { it*2 }
Run Code Online (Sandbox Code Playgroud)