【Java】5分あれば完全理解!putを使ってマップ(Map)に値を格納する!
マップ(Map)に値を格納するにはMapクラスのputメソッドを使用します。
putメソッドは、マップ(Map)に要素を格納するメソッドとなりますのでマップを扱う場合は必ず使用するメソッドとなります。
putメソッドでキーが重複した場合には値が上書きされるようになります。
今回はMapクラスのputとputAllメソッドを使って以下の場合でマップ(Map)に値を格納していきます。
⚫︎ マップに値を格納する場合
⚫︎ キーが重複する状態でマップに値を格納する場合
⚫︎ マップに同じ値を格納する場合
目次
putメソッドとは
Mapクラスのputメソッドとはマップに値を格納することができるメソッドとなります。
putメソッドの書き方
putメソッドの構文は下記となります。
1 |
Map.put(キー, 値) |
パラメータ
⚫︎ キー:
格納するキーを指定する(数字や文字列)
⚫︎ 値:
指定したキーに格納したい値を指定する
putメソッドの()に引数としてキーと値を指定することでマップに指定したキーと値を格納することができます。
キーが重複した場合は値が上書きされるようになります。
マップ(Map)に値を格納するサンプルコード
マップ(Map)からマッピングを削除するサンプルコードを紹介します。
マップに値を格納する場合
putメソッドを使ってマップに値を格納します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// マップに値を格納する import java.util. HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { // キーがInteger、値がStringのMapを作成 Map<Integer, String> mapA = new HashMap<Integer, String>(); //マップに値を格納する mapA.put(Integer.valueOf(1), "テレビ"); mapA.put(Integer.valueOf(2), "冷蔵庫"); mapA.put(Integer.valueOf(3), "洗濯機"); mapA.put(Integer.valueOf(4), "電子レンジ"); mapA.put(Integer.valueOf(5), "炊飯器"); mapA.put(Integer.valueOf(3), "掃除機"); System.out.println(mapA); } } |
出力結果
{1=テレビ, 2=冷蔵庫, 3=掃除機, 4=電子レンジ, 5=炊飯器}
putメソッドによってマップに値が格納されています。
キーが重複する状態でマップに値を格納する場合
キーが重複する状態でマップに値を格納する場合にputメソッドを使用します。
例
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 |
// マップに値を格納する import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { // mapAを作成 Map<Integer, String> mapA = new HashMap<Integer, String>(); //マップに値を格納する mapA.put(Integer.valueOf(1), "テレビ"); mapA.put(Integer.valueOf(2), "冷蔵庫"); mapA.put(Integer.valueOf(3), "洗濯機"); mapA.put(Integer.valueOf(4), "電子レンジ"); mapA.put(Integer.valueOf(5), "炊飯器"); mapA.put(Integer.valueOf(6), "掃除機"); //マップに値を格納する mapA.put(Integer.valueOf(1), "扇風機"); mapA.put(Integer.valueOf(2), "空気清浄機"); mapA.put(Integer.valueOf(3), "乾燥機"); // マップの内容を表示 System.out.println("マップAの中身"); System.out.println("mapA:" + mapA); } } |
出力結果
マップAの中身
mapA:{1=扇風機, 2=空気清浄機, 3=乾燥機, 4=電子レンジ, 5=炊飯器, 6=掃除機}
mapAのキー1と2と3が重複しているため、マッピングが上書きされています。
マップに同じ値を格納する場合
for文を使用することでマップに同じ値を格納することができます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// マップに値を格納する import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws Exception { // mapAを作成 Map<Integer, String> mapA = new HashMap<Integer, String>(); for(int i = 1; i <= 10; i++) { //マップに値を格納する mapA.put(Integer.valueOf(i), "テレビ"); } // マップの内容を表示 System.out.println("マップAの中身"); System.out.println("mapA:" + mapA); } } |
出力結果
マップAの中身
mapA:{1=テレビ, 2=テレビ, 3=テレビ, 4=テレビ, 5=テレビ, 6=テレビ, 7=テレビ, 8=テレビ, 9=テレビ, 10=テレビ}
for文によって同じ値をマップに格納しています。
今回のポイント
putでマップ(Map)に値を格納
マップに値を格納するににはMapクラスのputメソッドを使用する
⚫︎ Mapクラスのputメソッドでマップに値を格納する
⚫︎ putメソッドの第1パラメータはマップのキー、第2パラメータは値となる
⚫︎ 同じキーを指定して値を格納する場合は、後から格納した方の値で上書きされる
⚫︎ マップに同じ値を格納する場合は、for文を使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。