javascriptでの初期値がきまっているような
連想配列は
var dict = {
"key1" : "value1" ,
"key2" : "value2" ,
"key3" : "value3"
}
というように定義しますが、
これが androidのkotlinのhashmapだとどのように定義するのでしょうか?
mutableListOf に似たようなメソッドを
使うのでしょうか?
↓
KotlinでJavaScriptの連想配列に相当するデータ構造を定義する場合は、
`HashMap`や`mutableMapOf`を使用するのが一般的です。
以下は、それぞれの方法の例です。
---
### 1. **`HashMap` を使用する方法**
```kotlin
val map = hashMapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)
```
---
### 2. **`mutableMapOf` を使用する方法**
```kotlin
val map = mutableMapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)
```
`mutableMapOf`は変更可能なマップ(連想配列)を作成します。
---
### 3. **変更不可なマップを使用する場合**
もし初期値のマップが変更される必要がない場合は、`mapOf`を使用します。
```kotlin
val map = mapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)
```
`mapOf`で作成されたマップはイミュータブル(変更不可)なので、
あとから値を追加・変更することはできません。
---
### 注意点
- `mutableMapOf`と`mapOf`の違いは、
作成されたマップが変更可能かどうかです。
- `to`はKotlinの拡張関数で、ペア(`Pair`)を作成します。
---
### どちらを選ぶべきか?
- 値を動的に変更したい場合 → `mutableMapOf` または `HashMap`
- 初期値だけ定義して変更不要 → `mapOf`
`mutableListOf`はリスト(配列)用なので、連想配列には適していません。
コメント
コメントを投稿