「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());
}
}
}
}
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());
}
}
}
}
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