Open4
Kotlin学習 その4
KotlinのCollection
- Lists: 順序立てされたアイテムのコレクション
- Sets: 順序立てされていないユニークなアイテムのコレクション
- Maps: keyが一意であり、一つの値のみにマップされるkeyとvalueのペアのセット
List
- 読み取り専用のListを作るには
listOf()
を使う - ミュータブルなListを作るには
mutableListOf()
を使う - Listの要素数を数えるのは
.count()
- List内に特定アイテムがあるかチェックするのは
in
演算子を使う
val readOnlyShapes = listOf("triangle", "square", "circle")
println("circle" in readOnlyShapes) // true
- ミュータブルなListにアイテムを追加したり削除するにはそれぞれ
.add()
と.remove()
を使う
Set
- 読み取り専用の
Set
を作るにはsetOf()
を使う - ミュータブルな
Set
を作るにはmutableSetOf()
を使う - Setはユニークな要素しか入れられないため同じ要素は入れられない
// Mutable set with explicit type declaration
val fruit: MutableSet<String> = mutableSetOf("apple", "banana", "cherry", "cherry")
println(readOnlyFruit)
// [apple, banana, cherry]
- Setの要素数を数えるのは
.count()
- Set内に特定アイテムがあるかチェックするのは
in
演算子を使う - ミュータブルなSetにアイテムを追加したり削除するにはそれぞれ
.add()
と.remove()
を使う
Map
- keyは一意だがvalueは一意じゃなくてもいい
- 読み取り専用の
Set
を作るにはmapOf()
を使う - ミュータブルな
Set
を作るにはmutableMapOf()
を使う - Mapの型を定義するにはkeyとvalueそれぞれの型を定義する必要がある
// Mutable map with explicit type declaration
val juiceMenu: MutableMap<String, Int> = mutableMapOf("apple" to 100, "kiwi" to 190, "orange" to 100)
println(juiceMenu)
// {apple=100, kiwi=190, orange=100}
- 不必要な変更を防ぐためには、Mapにキャストすることで読み取り専用ビューを取れる
val juiceMenu: MutableMap<String, Int> = mutableMapOf("apple" to 100, "kiwi" to 190, "orange" to 100)
val juiceMenuLocked: Map<String, Int> = juiceMenu
- ミュータブルなMapにアイテムを追加したり削除するにはそれぞれ
.put()
と.remove()
を使う - Map内に特定keyがあるかチェックするのは
.containsKey()
を使う
val readOnlyJuiceMenu = mapOf("apple" to 100, "kiwi" to 190, "orange" to 100)
println(readOnlyJuiceMenu.containsKey("kiwi"))
// true
-
Map
内に特定key, valueがあるかチェックするのはin
演算子を使う