如何初始化Kotlin';s可变列表是否为空可变列表?

如何初始化Kotlin';s可变列表是否为空可变列表?,kotlin,Kotlin,看起来很简单,但是,如何将Kotlin的MutableList初始化为空MutableList 我可以这样做,但我相信有更简单的方法: var pusta: List<Kolory> = emptyList() var cos: MutableList<Kolory> = pusta.toArrayList() var pusta:List=emptyList() var cos:MutableList=pusta.toArrayList() 您可以简单地编写: val

看起来很简单,但是,如何将Kotlin的
MutableList
初始化为空
MutableList

我可以这样做,但我相信有更简单的方法:

var pusta: List<Kolory> = emptyList()
var cos: MutableList<Kolory> = pusta.toArrayList()
var pusta:List=emptyList()
var cos:MutableList=pusta.toArrayList()
您可以简单地编写:

val mutableList = mutableListOf<Kolory>()
val mutableList=mutableListOf()
这是最惯用的方式

其他方法是

val mutableList : MutableList<Kolory> = arrayListOf()
val mutableList:mutableList=arrayListOf()

val mutableList:mutableList=ArrayList()

这是利用java类型(如
ArrayList
)通过编译器技巧隐式实现类型
MutableList

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

val myList = mutableListOf<Kolory>() 
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()
我谨此陈辞:

var book: MutableList<Books> = mutableListOf()
var book:MutableList=mutableListOf()
/**返回具有给定元素的新[MutableList]*/

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

在kotlin中创建可空字符串的可变列表

val systemUsers: MutableList<String?> = mutableListOf()
val系统用户:MutableList=mutableListOf()

您需要导入任何内容吗?当我在我当前的项目中写这篇文章时,我得到了未解析的引用arrayListOf,如果我尝试mutablelistof,也会得到同样的结果。你的类路径中有stdlib吗?我只需要将build.gradle中的kotlin_版本标志切换回1.1.0而不是1.1。1@androiddeveloper这是因为
kotlin.collections.List
不是
java.utils.List
。Kotlin有一种映射某些内置java类型的机制。请参阅和类似的SO问题。注释部分不适合详细讨论这个问题。@Mohanakrrishna是的,函数支持传递参数。如果我知道新可变列表的大小怎么办?对于ArrayList,我可以这样做:
ArrayList(24)
,例如,如果我认为24是一个好的开始,它可能不需要更多的东西。@androiddeveloper查看列表构造函数的文档或底层列表的Java API,您将看到所需的选项。您忘记了
mutableListOf
。正确的答案是:
val myList=arrayListOf()//与//val myList=mutableListOf()相同。
linkedListOf适用于Kotlin的早期版本。我相信Kotlin不再具有LinkedList
val myList: List<Kolory> = ArrayList()
var book: MutableList<Books> = mutableListOf()
public fun <T> mutableListOf(vararg elements: T): MutableList<T>
    = if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))
val systemUsers: MutableList<String?> = mutableListOf()