【Java入門】Map(連想配列)のキーと値を取得する方法

Javaを使う上で、ListMapなどのコレクションを扱う処理は必須と言えます。

しかし、MapはListに比べて値の設定方法がやや複雑で、値を取得する方法も異なります。この記事では、Mapの値を取得する方法について、以下の内容で解説していきます。

  • キーで値を取得する方法
  • キーを全て取得する方法
  • 値を全て取得する方法
  • キーと値のペア(Entry)を全て取得する方法
  • Listに変換して要素番号で値を取得する方法

今回はMapのキーや値を取得する方法についてわかりやすく解説していますので、ぜひ参考にしてください。

Map(連想配列)とは

Mapとは、キーと値をペアで保持するコレクションです。コレクションとは、後からサイズを変更できる動的配列のようなものです。値を追加する時にはキーを指定し、キーを使って値を検索したり取り出すことができます。

キーの重複は許されず、キーと値は参照型のみ持つことができます。Mapは連想配列とも呼ばれます。

キーで値を取得する方法

Mapの値を取得するには、getメソッドを使用してMapのキーを指定し、キーに紐付いた値を取得します。実際にMapでキーを指定して値を取得する方法を、以下に記述します。

サンプルプログラム:

実行結果:

紹介したサンプルコードでは、Map型の変数mapを宣言し、設定するキーとデータをString型で宣言しています。putメソッドを使用して、キー名とそれに紐づく値を格納しています。

putメソッドを使用して値を格納したら、getメソッドを使用してキーを指定することにより、格納した値を取り出すことができます。

キーを全て取得する方法

Mapのキーを全て取得するには、keySetメソッドを使用します。keySetメソッドはMapのキーをSet型で返すので、拡張for文を使って以下のように繰り返して取得することができます。

サンプルプログラム:

実行結果:

値を全て取得する方法

Mapの値を全て取得するには、valuesメソッドを使用します。valuesメソッドもMapの値をSet型で返すので、拡張for文を使って以下のように繰り返して取得することができます。

サンプルプログラム:

実行結果:

キーと値のペア(Entry)を全て取得する方法

Mapのキーと値のペアはMap.Entryインタフェースで表されます。Map.EntryはgetKeyメソッドでキーを、getValueメソッドで値を取得することができます。MapのEntryを全て取得するには、entrySetメソッドを使用します。

entrySetメソッドはMapのEntryをSet型で返すので、拡張for文を使って以下のように繰り返して取得することができます。

サンプルプログラム:

実行結果:

Mapのキーや値を繰り返して取得する方法は、以下の記事でも詳しく解説しています!

【Java入門】Mapにfor文やforeachのループを使いキーと値を取得する
更新日 : 2019年4月12日

Listに変換して要素番号で値を取得する方法

ここではMapの応用的な使い方として、要素番号で値を取得する方法を説明します。Mapは説明したように、指定したキーに紐づく値を取得する方法が一般的です。

しかし、Mapを同じコレクションのListに変換すれば、要素番号を指定して値を取得することが可能となります。MapをListに変換するには、valuesメソッドを使用して以下のとおり記述します。

書き方:

valuesメソッドはMapに格納された全ての値を返します。Mapに格納した値をListに変換して、要素番号で値を取得する方法を以下に記述します。

サンプルプログラム:

実行結果:

紹介したサンプルでは、先ほどと同じくMap型の変数mapを宣言し、格納するキーと値をString型で指定しています。putメソッドを使用して、キー名称とそれに紐づくデータを格納しています。

次に、ArrayListクラスのList型の変数listを宣言し、valuesメソッドを使用してMapをListに変換しています。Listのgetメソッドで要素数を指定し、値を取得することが可能になります。

要素の追加などMap(連想配列)について

要素の追加やソートなどMap(連想配列)の使い方については、以下の記事にまとめていますのでぜひ参考にしてくださいね!

【Java入門】Mapの使い方総まとめ(HashMapで初期化、値のソート)
更新日 : 2019年5月22日

まとめ

いかがでしたか?Mapのキーや値を取得する方法や、MapをListに変換して要素番号を指定して値を取得できることがわかりました。応用的な使い方をすれば、ListやMapは更に便利になります。

もしMapから値を取得する方法を忘れてしまったら、この記事を思い出してくださいね!

Javaカリキュラム無料公開中!

この記事はJava入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Java学習に必要な情報を一つにまとめていますので効率よくJavaを学ぶことが出来ます。この機会に是非活用していただければと思います。

Java入門からアプリ開発まで未経験者が知っておくべき基礎を総ざらい
更新日 : 2019年5月22日

最短でJavaを習得したい方へ

もし、あなたが、

「難しすぎて学習が全然進まない」
「学習量が膨大でゴールが見えない」
「エラーを解決するのに何日もかかってしまう」

など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_bannar-java2
LINEで送る
Pocket

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説