「Java」Listの要素にMap型の値を追加するサンプル
説明
1.UserDeInfo java.util.Map.put(String key, UserDeInfo value)
指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。
パラメータ:
key – 指定された値が関連付けられるキー
value – 指定されたキーに関連付けられる値
2.java.util.Map.Entry<String, UserDeInfo>
マップのエントリ(キーと値のペア)です。Map.entrySetメソッドは、
このクラスに属する要素を持つマップのコレクション・ビューを返します。マップ・エントリ
3.Set<Entry<String, UserDeInfo>> java.util.Map.entrySet()
このマップに含まれるマッピングのSetビューを返します。
Javaコード
package com.arkgame.study; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; //Userクラスの定義 class UserDeInfo { private int age; private String username; private String pwd; public UserDeInfo(int age, String username, String pwd) { super(); this.age = age; this.username = username; this.pwd = pwd; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } } public class ListMapElement { public static void main(String[] args) { List<Map<String, UserDeInfo>> mpLst = new ArrayList<Map<String, UserDeInfo>>(); Map<String, UserDeInfo> mp = new HashMap<String, UserDeInfo>(); // Userクラスのインスタンス作成 UserDeInfo user01 = new UserDeInfo(21, "user_001", "123"); UserDeInfo user02 = new UserDeInfo(31, "user_002", "456"); UserDeInfo user03 = new UserDeInfo(41, "user_003", "789"); // キーと値を挿入 mp.put("keyA", user01); mp.put("keyB", user02); mp.put("keyC", user03); // リストにmapを追加 mpLst.add(mp); System.out.println("List要素の数:" + mpLst.size()); System.out.println("Map要素の数:" + mp.size()); for (Map<String, UserDeInfo> cftMap : mpLst) { for (Map.Entry<String, UserDeInfo> me : cftMap.entrySet()) { System.out.println("キー: " + me.getKey() + " 年齢:" + me.getValue().getAge() + " ユーザ名:" + me.getValue().getUsername() + " パスワード:" + me.getValue().getPwd()); } } } }
実行結果
List要素の数:1
Map要素の数:3
キー: keyA 年齢:21 ユーザ名:user_001 パスワード:123
キー: keyB 年齢:31 ユーザ名:user_002 パスワード:456
キー: keyC 年齢:41 ユーザ名:user_003 パスワード:789