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

書いた人 ヤマシタ


侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!フリーエンジニアのヤマシタです。

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

しかし、MapはListに比べて値の設定方法がやや複雑で、値を取得する方法も異なります

この記事では、

・キーで値を取得する方法
・キーを全て取得する方法
・値を全て取得する方法
・キーと値のペア(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のキーや値を繰り返して取得する方法は、以下の記事でも詳しく解説しています!

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(連想配列)の使い方については、以下の記事にまとめていますのでぜひ参考にしてくださいね!

まとめ

いかがでしたか?

Mapのキーや値を取得する方法や、MapをListに変換して要素番号を指定して値を取得できることがわかりました。

応用的な使い方をすれば、ListやMapは更に便利になります

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

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

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


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


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

もし、あなたが、

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

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

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

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

cta_bannar-java1

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります