首页 > 解决方案 > 在 Kotlin 中制作可变大小的不可变列表

问题描述

我尝试在 Kotlin 中创建一个可变大小的不可变列表,但我发现的唯一方法就是这个。没有更干净的方法吗?

val size = nextInt(0, 50)
val list = mutableListOf<Post>()
for (i in 0..size) {
    list.add(getRandomPost())
}
val immutableList = Collections.unmodifiableList(list)

当我的来源是另一个列表(具有随机大小)时,我可以做val immutableList = otherList.map{ /* thing that will be add() */ }但没有发现任何类似的只是 integrer

标签: listkotlinimmutabilitymutability

解决方案


你可以受益于 kotlin 集合扩展和使用List构建器

val list: List<Post> = List(Random.nextInt(0, 50)) {
      getRandomPost()
}

推荐阅读