在 Kotlin 中将元素添加到列表开头的最佳方法是什么

Ram*_*bo7 12 list arraylist kotlin

如果我有一张这样的清单

 var foo = mutableListOf("John", "Wayne")
Run Code Online (Sandbox Code Playgroud)

如果我想在列表顶部添加一个元素,到目前为止我正在考虑两个选项。

第一的:foo.add(0, "Twyla")

第二:foo = (mutableListOf("Twyla") + foo).toMutableList()

我不知道上述两种选择在性能方面的表现如何,但一般推荐的方法是什么?

小智 9

您可以使用 add(index, value) 方法。

fun main() {    
    val list1: MutableList<Int> = mutableListOf(2,3,4)
    println(list1.toString())

    list1.add(0, 1)
    println(list1.toString()) 
}

Output: 
  [2, 3, 4]
  [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)


Ily*_*lya 6

这两个选项并不完全相同:第一个选项只是将一个项目插入到现有可变列表的开头,第二个选项创建一个新列表,然后将其转换为另一个新的可变列表。

我认为如果您愿意改变现有列表,您应该更喜欢第一个选项,因为它比第二个选项需要更少的内存。