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

时间:2019-04-02 21:57:22

标签: list arraylist kotlin

如果我有这样的列表

 var foo = mutableListOf("John", "Wayne")

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

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

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

我不是以上两个选项在性能方面的表现如何,但总体上推荐的方法是什么?

2 个答案:

答案 0 :(得分:2)

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

我认为,如果您适合更改现有列表,则应该选择第一个选项,因为它比第二个选项所需的内存少。

答案 1 :(得分:1)

您可以使用 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]