ArrayList
Kotlinのにアイテムを追加するにはどうすればよいですか?
回答:
から移行したばかりの人にとってjava
、InKotlin
List
はデフォルトで不変であり、Listsの可変バージョンはと呼ばれMutableList
ます。
したがって、次のようなものがある場合:
val list: List<String> = ArrayList()
この場合add()
、リストは不変であるため、メソッドを取得できません。したがって、MutableList
以下に示すようにを宣言する必要があります。
val list: MutableList<String> = ArrayList()
これでメソッドが表示され、add()
任意のリストに要素を追加できます。
val list: MutableList<String> = ArrayList()
とはval list = mutableListOf<String>()
?
MUTABLEコレクションがある場合:
val list = mutableListOf(1, 2, 3)
list += 4
IMMUTABLEコレクションがある場合:
var list = listOf(1, 2, 3)
list += 4
val
オブジェクトは常に同じであるが、その内容が変わることを強調するために、可変リストに使用していることに注意してください。
不変リストの場合は、作成する必要がありますvar
。新しいオブジェクトは+=
、追加の値を使用してオペレーターによって作成されます。
+=
非可変のリストに、新しい可変-listにリストのすべての要素をコピーして、あなたの実際のリストにそれを再割り当てする必要があります。あなたのリストをとして宣言するのが適切だとは知りませんでしたvar
。とにかく、リストを変数として宣言することは私にとって良い考えではありません。
var
。不変リストがとして宣言されているval
場合、リストを変更することはできません。別の変数に再割り当てするだけで可能です。