创建一个给定长度n的可变列表的惯用方法是什么?该列表包含值为v的重复元素(例如listOf(4,4,4,4,4))作为表达式。我正在使用val list = listOf((0..n-1)).flatten().map{v},但它只能创建一个不可变的列表。
n
v
listOf(4,4,4,4,4)
val list = listOf((0..n-1)).flatten().map{v}
rqqzpn5f1#
use:
val list = MutableList(n) {index -> v}
或者,由于index未使用,您可以省略它:
index
val list = MutableList(n) { v }
aiqt4smr2#
另一种方式可以是:
val list = generateSequence { v }.take(4).toMutableList()
此样式与MutableList和(只读)List都兼容
iecba09b3#
如果需要不同的对象,可以使用repeat。例如,
repeat
val list = mutableListOf<String>().apply { repeat(2){ this.add(element = "YourObject($it)") } }
将String替换为对象。将2替换为所需的元素数。
iq0todco4#
您可以将范围用于此目的,例如
val listOfFour = (1..10).map { 4 }
或
val objectList = (1..10).map { YourClass( arg1 = "someValue", arg2 = it ) }
如果需要,也可以使用it(索引)。
it
4条答案
按热度按时间rqqzpn5f1#
use:
或者,由于
index
未使用,您可以省略它:aiqt4smr2#
另一种方式可以是:
此样式与MutableList和(只读)List都兼容
iecba09b3#
如果需要不同的对象,可以使用
repeat
。例如,将String替换为对象。将2替换为所需的元素数。
iq0todco4#
您可以将范围用于此目的,例如
或
如果需要,也可以使用
it
(索引)。