「Java」拡張forループでMapのデータを取得するサンプル
書式
for (Map.Entry<String, List<クラス名>> mst : cftMap.entrySet()) {
使用例
1.Userクラスの定義
package com.arkgame.study.java.it; public class User { private String msg; public User(String msg) { super(); this.msg = msg; } /** * @return msg */ public String getMsg() { return msg; } /** * @param msg セットする msg */ public void setMsg(String msg) { this.msg = msg; } }
2.動作確認mainクラス
package com.arkgame.study.java.it; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ListObjDemo { protected static Map<String, List<User>> cftMap = new HashMap<String, List<User>>(); public static void main(String[] args) { List<User> uLstA = new ArrayList<User>(); List<User> uLstB = new ArrayList<User>(); User us1, us3; us1 = new User("Auser001"); uLstA.add(us1); cftMap.put("key01", uLstA); us3 = new User("Buser002"); uLstB.add(us3); cftMap.put("key02", uLstB); for (Map.Entry<String, List<User>> mst : cftMap.entrySet()) { System.out.println("キー:" + mst.getKey()); List<User> resLst = mst.getValue(); for (User res : resLst) { System.out.println("値: " + res.getMsg()); } } } }
3.実行結果
キー:key02
値: Buser002
キー:key01
値: Auser001