はじめに
- 前回から少しづつ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でもないです")
}
}