我如何初始化Kotlin的MutableList来清空MutableList?

似乎很简单,但是,我如何初始化Kotlin的MutableList来清空MutableList

我可以用这种方法破解它,但我确定有更简单的方法可用:

 var pusta: List<Kolory> = emptyList() var cos: MutableList<Kolory> = pusta.toArrayList() 

你可以简单地写:

 val mutableList = mutableListOf<Kolory>() 

这是最习惯的方式。

替代方法是

 val mutableList : MutableList<Kolory> = arrayListOf() 

要么

 val mutableList : MutableList<Kolory> = ArrayList() 

这是利用像ArrayList这样的Java类型通过编译技巧MutableList实现MutableList类型的MutableList

对于数组列表,根据List类型的不同形式:

 val myList = arrayListOf<Kolory>() // same as val myList: MutableList<Kolory> = arrayListOf() 

对于LinkedList:

 val myList = linkedListOf<Kolory>() // same as val myList: MutableList<Kolory> = linkedListOf() 

对于其他列表类型,如果直接构造它们,将被假定为可变:

 val myList = ArrayList<Kolory>() // or val myList = LinkedList<Kolory>() 

对于实现List接口的任何东西(即其他集合库)都适用。

如果列表已经是可变的,则不需要在左侧重复类型。 或者只有当你想把它们视为只读的,例如:

 val myList: List<Kolory> = ArrayList() 

我喜欢下面:

 var book: MutableList<Books> = mutableListOf() 

/ **用给定的元素返回一个新的[MutableList]。 * /

 public fun <T> mutableListOf(vararg elements: T): MutableList<T> = if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))