Yanıtlar:
Basitçe şunu yazabilirsiniz:
val mutableList = mutableListOf<Kolory>()
Bu en deyimsel yol.
Alternatif yollar
val mutableList : MutableList<Kolory> = arrayListOf()
veya
val mutableList : MutableList<Kolory> = ArrayList()
Bu, java türlerinin bir derleyici hilesi ArrayList
ile örtük olarak uyguladığı gerçeğinden yararlanmaktadır MutableList
.
kotlin.collections.List
olduğunu değil java.utils.List
. Kotlin'in bazı yerleşik java türlerini eşleştirmek için bir mekanizması vardır. Lütfen kotlinlang.org/docs/reference/java-interop.html#mapped-types ve benzeri SO sorularına başvurun . Yorum bölümü bunu ayrıntılı olarak tartışmak için uygun değildir.
Dizi Listesi için Liste türüne bağlı olarak çeşitli formlar:
val myList = mutableListOf<Kolory>()
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()
LinkedList için:
val myList = linkedListOf<Kolory>()
// same as
val myList: MutableList<Kolory> = linkedListOf()
Diğer liste türleri için, bunları doğrudan oluşturursanız Mutable olarak kabul edilir:
val myList = ArrayList<Kolory>()
// or
val myList = LinkedList<Kolory>()
Bu, List
arabirimi uygulayan her şey için geçerlidir (örneğin, diğer koleksiyon kütüphaneleri).
Liste zaten Değişken ise, sol taraftaki türü tekrarlamanıza gerek yoktur. Veya yalnızca bunları salt okunur olarak değerlendirmek istiyorsanız, örneğin:
val myList: List<Kolory> = ArrayList()
ArrayList(24)
örneğin, 24'ün bunun için iyi bir başlangıç olduğunu düşünüyorsanız, muhtemelen bundan daha fazlasına ihtiyaç duymayacaktır.
mutableListOf
. Doğru:val myList = arrayListOf<Kolory>() // same as // val myList = mutableListOf<Kolory>()
Aşağıdakileri yapmak istiyorum:
var book: MutableList<Books> = mutableListOf()
/ ** Verilen öğelerle yeni bir [MutableList] döndürür. * /
public fun <T> mutableListOf(vararg elements: T): MutableList<T>
= if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))