Как инициализировать MutableList Котлина, чтобы очистить MutableList?
кажется так просто, но, как мне инициализировать Котлина MutableList пустой MutableList?
я мог бы взломать его, но я уверен, что есть что-то более доступны:
var pusta: List<Kolory> = emptyList()
var cos: MutableList<Kolory> = pusta.toArrayList()
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