はじめに
- 前回から少しづつkotlinを覚えているので、そのメモの続き
配列とコレクション
Kotlinで複数の要素をまとめて扱うには、Javaと同様に配列とコレクションを用いる
配列と代表的なコレクション(List・Set・Map)は以下のような特徴がある
配列 最もシンプルな複数の要素を扱う仕組みだが、宣言の段階でサイズを決める必要があるなど柔軟性に欠ける
List 配列と同様に複数の要素を扱うことができる、インデックスを指定して値を取得・設定ができる
Set Listと似ているが重複した要素は登録しないので、重複のない複数の要素を扱うことが出来る、順序性はないのでインデックスを指定した値の取得・設定は出来ない
Map キーと値を利用して要素を扱う、他の言語では連想配列・辞書(ディクショナリ)と呼ばれることもある
配列
fun main() { var a = arrayOf(1, 2, 3) var b = intArrayOf(1, 2, 3) var c: Array<String?> = arrayOfNulls(3) // [null, null, null] var d = Array(3, {i -> i * 2}) // [0, 2, 4] println(a[1]) println(b[2]) println(c[0]) println(d[2]) }
コレクション
- 各種コレクションは以下のように生成できる
- コレクションを作成すると読み取り専用である
fun main() { var list = listOf("あ", "い", "う") var var_set = setOf("A", "B", "A", "C", "D", "B") var map = mapOf("key1" to "value1", "key2" to "value2", "key3" to "value3") println(list) println(var_set) println(map) }
- 変更可能なコレクションを作成するには、
mutableコレクション名Of()
関数を使う
var list = mutableListOf(1, 2, 3) list[2] = 5
定数
- 変数のように値に名前を与えるが、一度定義したら値が変わらないもの定数を宣言するには、val命令を用いる(変数は、var命令)定数を変更しようとするとエラーになる
val DB_HOST = 'localhost'
制御構文
- 至って他の言語と変わらない
if文
val a = 10 if (a <= 5) { println("aは5以下です") } elseif (a <= 10) { println("aは10以下です") } else { println("aは10より大きいです") }
when式
val x = 1 when (x) { 1 -> println("xは1です") 2 -> println("xは2です") else -> { println("xは1でも2でもないです") } }