SwiftとKotlinでの書き方を同時にまとめます。今回は配列(リスト)の違いについて。
この記事ではSwiftとKotlinの配列について、同時に学ぶことができます。
✔ もくじ
SwiftとKotlinの配列と要素の追加方法
配列とは、同じ型の値を複数格納する事ができる便利な処理です。
例えば、以下のようなイメージ。
フルーツバスケットという配列に、フルーツという同じ型の要素が入っているイメージ。
フルーツバスケット = [りんご, みかん, バナナ, メロン, パイナップル]
※分かりやすく書いた例です。Swift/Kotlinそれぞれの項目を参照して下さい。
配列に格納する要素は『同じ型』である必要があります。
以下より、SwiftとKotlinの配列と要素の追加方法について解説します。
✔ SwiftとKotlinの配列と要素の追加方法
Swiftの配列と要素の追加方法
Swiftの配列では要素を追加可能にする書き方と、追加を不可能にする書き方ができます。
✔ Swiftの配列と要素の追加方法
配列に追加する要素は、同じ型であれば定数や変数でも可能です。
Swiftの定数と変数の定義方法は以下の記事にまとめていますので、気になる方はどうぞ。
Swiftのイミュータブル(追加不可能)な配列
Swiftの配列で、要素の変更不可にしたい場合の書き方です。
『イミュータブル』とは『変更不可』の意味で、要素の追加が不可能である事を指します。
<!イミュータブル(変更不可)な配列>
let items = ["a","b"]
<!error 追加できない>
items.append("c")
Swiftの場合『let』で定義した配列には要素が追加できない事が分かります。
Swiftのミュータブル(追加可能)な配列
Swiftの配列で、こちらは要素の変更を可能にしたい場合の書き方。
『ミュータブル』とは『可変』の意味で、要素の追加が可能である事を指します。
<!ミュータブル(可変)な配列>
var items = ["a", "b"]
<!OK 追加可能>
items.append("c")
Swiftの場合『var』で配列を定義した場合、要素の追加が可能になります。
Kotlinの配列と要素の追加方法
Kotlinの配列はSwiftよりも少し複雑です。
以下の3つに分けて解説します。
✔ Kotlinの配列と要素の追加方法
Swiftの配列の方がシンプルに見えますが、Kotlinでは『リスト』がSwiftの配列に相当するものです。
Kotlinのarray(要素数不変,要素可変)
Kotlinの『array』では、新しく要素を追加する事はできませんが、格納している要素を上書きする事ができます。
ただし、上書きは同じ型の値でのみです。
<!array(要素数不変,要素可変)>
val array = arrayOf("a","b","c")
<!error 要素数不変>
array.add = "aa"
<!OK 要素可変>
array[0] = "aa"
Kotlinのリスト(要素数不変,要素不変)
Swiftでいうイミュータブルな配列に相当する書き方。
要素の追加も、要素の上書きもできないのが『リスト』です。
一度作った配列に、要素の追加や要素の上書きをしたくない場合は以下のように書きます。
<!リスト(要素数不変,要素不変)>
val list = listOf("a","b","c")
<!error 要素数不変>
list.add("aa")
<!error 要素不変>
list[0] = "aa"
Kotlinのミュータブルリスト(要素数可変,要素可変)
Swiftでいうミュータブルは配列の書き方。
要素の追加も更新も可能な配列です。
<!ミュータブルリスト(要素数可変,要素可変)>
val mutableList = mutableListOf("a","b","c")
<!OK 要素数可変>
mutableList.add("aa")
<!OK 要素可変>
mutableList[0] = "aa"
なお、要素の追加や更新は、同じ型であれば定数でも変数でも可能です。
Kotlinの定数と変数の定義方法は以下の記事にまとめていますので、気になる方はどうぞ。
以上です。
ご静聴ありがとうございます。
エンジニアの皆さん、毎日お疲れ様です。