「Java」HashMapへArrayListデータを格納、取り出すサンプル

書式
Map<String, List<クラス名> cftMp = new HashMap<String, List<クラス名>>();
使用例

package com.arkgame.study.map;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//Usersクラスの定義
class Users {
      private int age;

      /**
       * @return age
       */
      public int getAge() {
            return age;
      }

      /**
       * @param age セットする age
       */
      public void setAge(int age) {
            this.age = age;
      }

}

//mainクラス
public class MapListDemo {

      protected static final String cftKey = "kk01";

      public static void main(String[] args) {

            // オブジェクトusA、usBの作成
            Users usA = new Users();
            Users usB = new Users();
            usA.setAge(21);
            usB.setAge(32);

            // ArrayListへオブジェクトを追加
            List<Users> luLst = new ArrayList<Users>();
            luLst.add(usA);
            luLst.add(usB);

            // 関数mapElementFuncを呼び出す
            mapElementFunc("key2021", luLst);

      }

      // HashMapにArrayListを格納、取り出す
      public static void mapElementFunc(String str, List<Users> targetLst) {
            // HashMapの定義
            Map<String, List<Users>> cftMp = new HashMap<String, List<Users>>();
            // HashMapにリストを追加
            cftMp.put(cftKey, targetLst);
            cftMp.put("k002", targetLst);

            // キー存在チェック
            if (cftMp.containsKey(cftKey)) {
                  // オブジェクトを取り出す リスト要素を取り出す
                  for (Users us : targetLst) {
                        System.out.println("リストの要素: " + us.getAge());
                  }
            }

      }

}

実行結果
リストの要素: 21
リストの要素: 32

Java

Posted by arkgame