Как инициализировать MutableList Котлина, чтобы очистить MutableList?



кажется так просто, но, как мне инициализировать Котлина MutableList пустой MutableList?



я мог бы взломать его, но я уверен, что есть что-то более доступны:



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

3 ответов:

вы можете просто написать:

val mutableList = mutableListOf<Kolory>()

Это самый идиоматический способ.

альтернативные способы

val mutableList : MutableList<Kolory> = arrayListOf()

или

val mutableList : MutableList<Kolory> = ArrayList()

это использует тот факт, что типы java, такие как ArrayList неявно реализуют тип MutableList через трюк компилятора.

различные формы в зависимости от типа списка, Список для выбора:

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))

Comments

    Ничего не найдено.