【Java】getメソッドを使ってマップ(Map)から値を取り出す!
マップ(Map)から値を取り出すにはMapクラスのgetメソッドを使用します。
getメソッドはパラメーターで指定された特定のキーによってマップされた値を取り出すために使用されます。
しかし、マップにキーにそのようなマッピングが含まれていない場合は、NULLを返します。
そのため、containsKeyメソッドとgetメソッドを組み合わせて、キーがマップに登録されているか確認してマップ(Map)から値を取得することもできます。
今回はgetメソッドを使って、以下の場合でマップ(Map)から値を取り出していきます。
・ キーを指定してマップ(Map)から値を取得する場合
・ 指定したキーが存在しない状態でマップ(Map)から値を取得する場合
また、containsKeyメソッドを使ってキーがマップに登録されているか確認してマップ(Map)から値を取得する方法についても紹介します。
目次
getメソッドとは
Mapクラスのgetメソッドはマップ内のキーを順番に取得することができます。
getメソッドの書き方
getメソッドの構文は下記となります。
1 |
HashMap.get(キー); |
パラメータ
・キー
値を取り出したいキーを指定します。
戻り値
パラメーターのキーに関連付けられた値を返します。
マップから値を取り出すサンプルコード
キーだけを順番にまとめて取り出した場合と1つずつ順番に取得した場合のサンプルコードを紹介します。
キーを指定して値を取得する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// マップから値を取り出すクラス import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { Map<Integer, String> map1 = new HashMap<Integer, String>(); //マップに値を格納する map1.put(Integer.valueOf(1), "テレビ"); map1.put(Integer.valueOf(2), "冷蔵庫"); map1.put(Integer.valueOf(3), "掃除機"); map1.put(Integer.valueOf(4), "電子レンジ"); map1.put(Integer.valueOf(5), "炊飯器"); // キーを指定して値を取得して表示する S System.out.println( "キー:1 値 :" + map1.get(Integer.valueOf(1))); System.out.println( "キー:2 値 :" + map1.get(Integer.valueOf(2))); System.out.println( "キー:3 値 :" + map1.get(Integer.valueOf(3))); System.out.println( "キー:4 値 :" + map1.get(Integer.valueOf(4))); System.out.println( "キー:5 値 :" + map1.get(Integer.valueOf(5))); } } |
出力結果
キー:1 値 :テレビ
キー:2 値 :冷蔵庫
キー:3 値 :掃除機
キー:4 値 :電子レンジ
キー:5 値 :炊飯器
getメソッドを使ってマップの値を取り出しました。
マップに指定したキーが存在しない場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// マップから値を取り出すクラス import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { Map<Integer, String> map2 = new HashMap<Integer, String>(); //マップに値を格納する map2.put(Integer.valueOf(1), "テレビ"); map2.put(Integer.valueOf(2), "冷蔵庫"); map2.put(Integer.valueOf(3), "掃除機"); map2.put(Integer.valueOf(4), "電子レンジ"); map2.put(Integer.valueOf(5), "炊飯器"); // キーを指定して値を取得して表示する S System.out.println( "キー:1 値 :" + map2.get(Integer.valueOf(1))); System.out.println( "キー:2 値 :" + map2.get(Integer.valueOf(2))); System.out.println( "キー:3 値 :" + map2.get(Integer.valueOf(3))); System.out.println( "キー:4 値 :" + map2.get(Integer.valueOf(4))); System.out.println( "キー:5 値 :" + map2.get(Integer.valueOf(5))); System.out.println( "キー:6 値 :" + map2.get(Integer.valueOf(6))); } } |
出力結果
キー:1 値 :テレビ
キー:2 値 :冷蔵庫
キー:3 値 :掃除機
キー:4 値 :電子レンジ
キー:5 値 :炊飯器
キー:6 値 :null
キー6の場合は値が入っていないため、nullが返されました。
キーがマップに登録されているか確認して取得する場合
キーがマップに登録されているかどうかを先に確認する場合は、HashMapクラスで用意されているcontainsKey()メソッドを使います。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
// マップから値を取り出すクラス import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { Map<Integer, String> map3 = new HashMap<Integer, String>(); //マップに値を格納する map3.put(Integer.valueOf(1), "テレビ"); map3.put(Integer.valueOf(2), "冷蔵庫"); map3.put(Integer.valueOf(3), "掃除機"); map3.put(Integer.valueOf(4), "電子レンジ"); map3.put(Integer.valueOf(5), "炊飯器"); // キーを指定して値を取得して表示する System.out.println( "キー:1 値 :" + map3.get(Integer.valueOf(1))); System.out.println( "キー:2 値 :" + map3.get(Integer.valueOf(2))); System.out.println( "キー:3 値 :" + map3.get(Integer.valueOf(3))); System.out.println( "キー:4 値 :" + map3.get(Integer.valueOf(4))); //キーがマップに登録されているか確認 if (map3.containsKey(5)) { System.out.println( "キー:5 値 :" + map3.get(Integer.valueOf(5))); } else{ System.out.println("指定したキーは存在しません"); } System.out.println( "キー:6 値 :" + map3.get(Integer.valueOf(6))); //キーがマップに登録されているか確認 if (map3.containsKey(7)) { System.out.println( "キー:7 値 :" + map3.get(Integer.valueOf(5))); } else{ System.out.println("指定したキーは存在しません"); } } } |
出力結果
キー:1 値 :テレビ
キー:2 値 :冷蔵庫
キー:3 値 :掃除機
キー:4 値 :電子レンジ
キー:5 値 :炊飯器
キー:6 値 :null
指定したキーは存在しません
if文にcontainsKeyメソッドを使うことで、キーが存在するか確認しています。
キー5登録されているためtrueを返し、キー7は登録されていないため、falseを返しています。
今回のポイント
getでマップの値を取り出す
マップから値を取り出すにはMapクラスのgetメソッドを使用する。
• Mapクラスのgetメソッドでマップから値を取り出す
• getメソッドのパラメータには、Mapから取り出したいキーを指定する
• getメソッドのパラメータで指定したキーがマップ内にない場合は「null」を返す
• containsKeyメソッドとgetメソッドを組み合わせて、キーがマップに登録されているか確認してマップ(Map)から値を取得することができる
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。