gpt4 book ai didi

kotlin - Dart 的 List.expand() 方法的 Kotlin 等价物是什么?

转载 作者:行者123 更新时间:2023-12-01 11:54:44 25 4
gpt4 key购买 nike

在 Dart 中,List.expand() 允许将现有 List 的每个元素映射到零个、一个或多个元素,然后将它们组装成一个新的 Iterable。比如,

var a=[1,2,3];
var b = a.expand((i)=>List.generate(i,(_)=>i.toString())).toList();
print(b.toString());
//Output: [1, 2, 2, 3, 3, 3]

基本上是一个增强的 map() 函数允许“一对多”映射

如果我想做同样的事情,Kotlin 的等价物是什么?我在 Kotlin 集合中找不到相应的方法。

最佳答案

Use flatMap :

fun main(args: Array<String>) {
val a = listOf(0, 1, 2, 3) // listOf(1, 2, 3)
val b = a.flatMap({i ->
List(i) { i }
})

println(b)
}

> [1, 2, 2, 3, 3, 3]

List(i) { i } a cool comprehension为您的列表生成器。 Play onlinehttps://try.kotlinlang.org 上使用此代码!

关于kotlin - Dart 的 List.expand() 方法的 Kotlin 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com