首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Kotlin的MutableList初始化为空MutableList?

如何将Kotlin的MutableList初始化为空MutableList?
EN

Stack Overflow用户
提问于 2015-10-22 10:28:29
回答 5查看 211.7K关注 0票数 369

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

我可以这样破解它,但我相信还有更简单的方法:

代码语言:javascript
复制
var pusta: List<Kolory> = emptyList()
var cos: MutableList<Kolory> = pusta.toArrayList()
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-10-22 10:34:06

你可以简单地写:

代码语言:javascript
复制
val mutableList = mutableListOf<Kolory>()

这是最惯用的方式。

另一种方法是

代码语言:javascript
复制
val mutableList : MutableList<Kolory> = arrayListOf()

代码语言:javascript
复制
val mutableList : MutableList<Kolory> = ArrayList()

这是在利用像ArrayList这样的java类型通过编译器技巧隐式实现类型MutableList的事实。

票数 636
EN

Stack Overflow用户

发布于 2015-10-29 16:53:21

根据列表类型的不同,数组列表的各种表单:

代码语言:javascript
复制
val myList = mutableListOf<Kolory>() 
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()

对于LinkedList:

代码语言:javascript
复制
val myList = linkedListOf<Kolory>()
// same as
val myList: MutableList<Kolory> = linkedListOf()

对于其他列表类型,如果直接构造它们,则假定它们是可变的:

代码语言:javascript
复制
val myList = ArrayList<Kolory>()
// or
val myList = LinkedList<Kolory>()

对于实现List接口的任何东西(即其他集合库),这都是正确的。

如果列表已经是可变的,则无需重复左侧的类型。或者,仅当您想将它们视为只读时,例如:

代码语言:javascript
复制
val myList: List<Kolory> = ArrayList()
票数 23
EN

Stack Overflow用户

发布于 2016-08-23 08:37:33

我希望在以下几个方面:

代码语言:javascript
复制
var book: MutableList<Books> = mutableListOf()

/**返回一个具有给定元素的新MutableList。*/

代码语言:javascript
复制
public fun <T> mutableListOf(vararg elements: T): MutableList<T>
    = if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33278869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档