假设我在列表中有一些值.我想返回另一个包含新元素的列表

fun newList():List<Int>{    
    val values =listOf<Int>(1,2,3,4,5,6);
    return 7::values; // something like that
}

推荐答案

Kotlin列表有the plus operator个重载项,因此您可以向列表中添加一个项:

val values = listOf(1, 2, 3, 4, 5, 6)
return values + 7

还有一个重载添加了另一个列表:

val values = listOf(1, 2, 3, 4, 5, 6)
return listOf(-1, 0) + values + listOf(7, 8)

请注意,在这两种情况下都会创建一个新列表,并将元素复制到其中.

For MutableList<T> (which has mutating functions, in contrast with List<T>), there is a plusAssign operator implementation, that can be used as follows:

fun newList(): List<Int> {    
    val values = mutableListOf(1, 2, 3, 4, 5, 6)
    values += 7
    values += listOf(8, 9)
    return values
}

Kotlin相关问答推荐

如果启用了Flyway迁移,则不能具有配置属性';datources.default.架构-生成

T和T有什么区别:任何>

如何优雅地声明一个StateFlow?

使用 StateFlow 时如何移除监听器?

Kotlin:我可以将函数分配给 main 的伴随对象中的变量吗?

Eclipse:无法安装 Kotlin 插件

JetPack Compose:添加点击持续时间

有没有一种简单的方法可以将数组/列表中的每个元素相互相乘 - Kotlin?

为空数组添加值

为什么没有remember 的 mutableStateOf 有时会起作用?

Kotlin 从其他类调用成员扩展函数

@InlineOnly 注释是什么意思?

如何设置两列recyclerview?

防止导航到同一个片段

Tornadofx - 如何在每个实例上将参数传递给 Fragment

用Gradle Kotlin DSL构建源jar?

Kotlin:具有多个不同类型设置器的单个属性

如何将vararg作为数组传递给Kotlin中的函数?

在Kotlin中将列表转换为对的惯用方法

Kotlin类型安全类型别名