0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【kotlin】List型 コレクション

Last updated at Posted at 2021-06-20

■コレクション型

複数の値を格納できるもの
配列も複数入るがコレクション型ではない。

コレクション型はList,Set,Mapの3つからなっている。

■List

●複数の値を格納できる。
●読み込み専用と変更可能ができる2つの種類がある。
●順番がある。インデックス番号で値にアクセスできる。
●値が被っていても許される。

■読み取り専用と変更可能な List

■読み取り専用

中身の変更ができないそのままの配列を使う時に使う。

▼書き方

val hoge = listOf(1,2,3)

■変更可能

中身の値を記述してから変更する事ができる。

▼書き方
mutableをつける。

val hoge2 = mutableListOf(1,2,3)

▼お互いそのまま変数名だけで中身を全て出力できる。

val hoge = listOf(1,2,3)
val hoge2 = mutableListOf(1,2,3)

println(hoge)
//結果: [1,2,3]
println(hoge2)
//結果: [1,2,3]

■型パラメータ

▼読み取り専用の場合

List<型名>

val hoge: List<String> = listOf("かに","さそり","魚")

▼変更可能なmutableの場合
MutableList<型名>

val hoge2: MutableList<String> = mutableListOf("豚","牛","鳥")

■MutableListの追加と消去

▼空のMutableListを用意

配列では要素数を決めnullを埋めて作るある意味,空の配列は用意できた。
MutableListでは要素数もなくnullを埋めるわけでもない。

//String型を指定している。
val hoge = mutableListOf<String>()

//Any型も指定可能
val hoge = mutableListOf<Any>()

▼値を追加

add(追加したい値)でMutableListの末尾に値を追加します。

hoge.add("かめ")

add(インデックス番号,値)で値を好きなインデックスの場所に追加できます。

hoge.add(0,"さる")
println(hoge)
//上記2つのaddの結果: ["さる","かめ"]

+=演算子で値を末尾に追加も可能

hoge += "吉野"
println(hoge)

//結果:上記3つの結果 ["さる","かめ","吉野"]

▼複数の値を追加

■addAllで中身のlistOf()を全部MutableList()に追加するよ

val aaa = MutableListOf<Int>()
//追加する値をlistOf()でまとめている。
aaa.addAll(listOf(1,2,3,4))

println(aaa)
//結果: [1,2,3,4]

//変数にしてaddAllの引数に渡す事もできる。
val bbb = listOf(5,6,7,8)
aaa.addAll(bbb)

■+=演算子でも同じ事ができる。

aaa += listOf(1,2,3,4)

■スコープ関数のapplyを使って連続で値を追加も可能

//applyでaaaを省略している。
aaa.apply{
 add(1)
 add(2)
 add(3)
}

▼値を消去

■remove(消去したい値)で値を消去

hoge.remove("かめ")

■-=演算子で消去も可能

hoge -= "かめ"

■インデックス番号を指定して消去
removeAt(インデックス番号)

hoge.removeAt(0)

■全ての値を消去
clear()

hoge.clear()
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?