「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

Java

Posted by arkgame