什么n
是以重复元素值v
(例如listOf(4,4,4,4,4)
)作为表达式创建给定长度的可变列表的惯用方法.
我正在做val list = listOf((0..n-1)).flatten().map{v}
但它只能创建一个不可变的列表.
vod*_*dan 67
使用:
val list = MutableList(n) {index -> v}
Run Code Online (Sandbox Code Playgroud)
小智 25
另一种方式可能是:
val list = generateSequence { v }.take(4).toMutableList()
Run Code Online (Sandbox Code Playgroud)
此样式与 MutableList 和(只读)列表兼容
您可以将范围用于此目的,例如
val listOfFour = (1..10).map { 4 }
Run Code Online (Sandbox Code Playgroud)
或者
val objectList = (1..10).map {
YourClass(
arg1 = "someValue",
arg2 = it
)
}
Run Code Online (Sandbox Code Playgroud)
如果您需要,您也可以使用it
(index) 来满足您的需要。
如果你想要不同的对象,你可以使用repeat
. 例如,
val list = mutableListOf<String>().apply {
repeat(2){ this.add(element = "YourObject($it)") }
}
Run Code Online (Sandbox Code Playgroud)
用您的对象替换字符串。用你想要的元素数替换 2 。