2015-10-22 8 views

答えて

137

あなたは、単に書くことができます。

val mutableList = mutableListOf<Kolory>() 

これは、最も慣用的な方法です。

代替の方法は

val mutableList : MutableList<Kolory> = arrayListOf() 

または

val mutableList : MutableList<Kolory> = ArrayList() 

これはArrayListのようなJavaの型がimplictlyコンパイラのトリックを介したタイプMutableListを実装しているという事実を利用されています。アレイリストのためのリストの種類に応じて

+0

何かインポートする必要はありますか?これを私の現在のプロジェクトで書くと、未解決のリファレンスarrayListOfが得られます。mutableListOfを試しても同じです。 – vextorspace

+0

クラスパスにstdlibがありますか? –

+0

私のkotlin_versionフラグをbuild.gradleで1.1.1の代わりに1.1.0に戻すだけでした。 – vextorspace

7

様々な形態、:LinkedListのために

val myList = arrayListOf<Kolory>() 
// same as 
val myList: MutableList<Kolory> = arrayListOf() 

:あなたがそれらを直接構築する場合は、他のリストの種類については

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

私は以下のように実行します。

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)) 
関連する問題