回答:
あなたは単に書くことができます:
val mutableList = mutableListOf<Kolory>()
これは最も慣用的な方法です。
別の方法は
val mutableList : MutableList<Kolory> = arrayListOf()
または
val mutableList : MutableList<Kolory> = ArrayList()
これは、Java型ArrayList
がMutableList
コンパイラトリックを介して暗黙的に型を実装しているという事実を利用しています。
kotlin.collections.List
はそうで はないからですjava.utils.List
。Kotlinには、一部の組み込みJava型をマッピングするメカニズムがあります。kotlinlang.org/docs/reference/java-interop.html#mapped-typesおよび同様のSOの質問を参照してください。コメントセクションは、これを詳細に説明するのには適していません。
配列リストの場合、リストのタイプに応じてさまざまな形式:
val myList = mutableListOf<Kolory>()
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()
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()
ArrayList(24)
たとえば、24が適切な出発点であると考える場合、おそらくそれ以上は必要ありません。
mutableListOf
。正しいは次のようになりますval myList = arrayListOf<Kolory>() // same as // val myList = mutableListOf<Kolory>()