Odpowiedzi:
Możesz po prostu napisać:
val mutableList = mutableListOf<Kolory>()
To najbardziej idiomatyczny sposób.
Alternatywne sposoby to
val mutableList : MutableList<Kolory> = arrayListOf()
lub
val mutableList : MutableList<Kolory> = ArrayList()
Wykorzystuje to fakt, że typy java ArrayList
domyślnie implementują ten typ MutableList
za pomocą sztuczki kompilatora.
kotlin.collections.List
jest . Kotlin ma mechanizm mapowania niektórych wbudowanych typów Java. Proszę zapoznać się z kotlinlang.org/docs/reference/java-interop.html#mapped-types i podobnymi pytaniami SO. Sekcja komentarzy nie jest odpowiednia do szczegółowego omawiania tego. java.utils.List
Różne formy w zależności od typu listy, dla listy tablic:
val myList = mutableListOf<Kolory>()
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()
W przypadku LinkedList:
val myList = linkedListOf<Kolory>()
// same as
val myList: MutableList<Kolory> = linkedListOf()
W przypadku innych typów list zostanie przyjęty Zmienny, jeśli zbudujesz je bezpośrednio:
val myList = ArrayList<Kolory>()
// or
val myList = LinkedList<Kolory>()
Odnosi się to do wszystkiego, co implementuje List
interfejs (tj. Innych bibliotek kolekcji).
Nie trzeba powtarzać typu po lewej stronie, jeśli lista jest już zmienna. Lub tylko jeśli chcesz traktować je jako tylko do odczytu, na przykład:
val myList: List<Kolory> = ArrayList()
ArrayList(24)
na przykład, jeśli uważam, że 24 to dobry początek, prawdopodobnie nie będzie potrzebował więcej.
mutableListOf
. Prawidłowe byłoby:val myList = arrayListOf<Kolory>() // same as // val myList = mutableListOf<Kolory>()
Lubię poniżej, aby:
var book: MutableList<Books> = mutableListOf()
/ ** Zwraca nową [MutableList] z podanymi elementami. * /
public fun <T> mutableListOf(vararg elements: T): MutableList<T>
= if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))