Kotlin

【Kotlin入門】連想配列のような表現ができるMapの使い方

前回紹介した List と同じく、kotlin でも使われる頻度が高いのが Map です。

PHP 経験者だと連想配列と言えばしっくりくるかもしれません。

キーと値のセットで 1 つの要素を管理できるので、直感的にわかりやすい構造になっています。

今回はこの Map の活用法について紹介していきます。

Mapの定義の仕方

Map はキーと値のセットで管理すると説明しますが、変数の宣言の仕方は以下の通りです。

実行すると以下の結果が出力されます。

京都です
阪神です
東京です

ポイントは、Map の後の <> 内のジェネリクスです。

今回はキーも値も String にしましたが、ここの型を変えれば他の組み合わせの情報を管理できます。

例えば、値を Boolean にすると以下のような表現ができます。

京都競馬場は右回りですか?:true
阪神競馬場は右回りですか?:true
東京競馬場は右回りですか?:false

値の変更を許可する場合はMutableMap

List の時もそうでしたが、Map も最初に格納した情報から変更ができません。

キーや値の情報を変更したり、新たなキーバリューを追加する場合は MutableMap を使います。

無事に「中山」が追加できましたね。

京都です
阪神です
東京です
中山です

情報を削除したい場合は、remove() でキーを指定します。

MutableList の時と同じ要領ですね。

ちなみに、存在しないキーを使うとエラーにはならずに null が返ります。

ここが List の時とは違った挙動となる部分です。

nullです

まとめ

Map の使い方について紹介しました。

情報に順序を持たせたい場合は List を使い、欲しい情報が特定できる場合は Map を利用します。

特に大量のデータを検索をする際にパフォーマンスが変わってくるので、何でもかんでも List を使わないように Map と上手く使い分けをしていきましょう。

別途、値だけを保持する Set というものもありますが、私はあまり使う機会がないので紹介は省きます。