ArrayList(Map(k v))相关操作和遍历

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

public class ArrayListSaveMapdemo {
    public static void main(String[] args) {
        //定义一个ArrayList集合用于存放Map<学号,学生> 对象
        ArrayList<HashMap<String, Student>> hsList = new ArrayList<HashMap<String, Student>>();
            //定义第一个map<>集合用于存放 一班的学生
            HashMap<String, Student> hsA = new HashMap<String, Student>();
        //生成一班的学生
                Student stuA1 = new Student("李一", 28);
                Student stuA2 = new Student("王一", 18);
                Student stuA3 = new Student("孙一", 33);
                Student stuA4 = new Student("张一", 33);
                    //向hsA中增加学生对应关系
                    hsA.put("201001",stuA1);
                    hsA.put("201002",stuA2);
                    hsA.put("201003",stuA3);
                    hsA.put("201004",stuA4);
                        //向ArrayList集合中,存入第一个元素,一班的学生
                        hsList.add(hsA);
        //定义第一个map<>集合用于存放 二班有的学生
        HashMap<String, Student> hsB = new HashMap<String, Student>();
            //生成二班的学生
            Student stuB1 = new Student("李二", 28);
            Student stuB2 = new Student("王二", 18);
            Student stuB3 = new Student("孙二", 33);
            Student stuB4 = new Student("张二", 33);
                //向hsA中增加二班学生对应关系
                hsB.put("202001",stuB1);
                hsB.put("202002",stuB2);
                hsB.put("202003",stuB3);
                hsB.put("202004",stuB4);
                    //向ArrayList集合中,存入第一个元素,二班的学生
                    hsList.add(hsB);
        //定义第一个map<>集合用于存放 三班有的学生
        HashMap<String, Student> hsC = new HashMap<String, Student>();
            //生成三班的学生
            Student stuC1 = new Student("李三", 28);
            Student stuC2 = new Student("王三", 18);
            Student stuC3 = new Student("孙三", 33);
            Student stuC4 = new Student("张三", 33);
                //向hsA中增加三班学生对应关系
                hsC.put("203001",stuC1);
                hsC.put("203002",stuC2);
                hsC.put("203003",stuC3);
                hsC.put("203004",stuC4);
                    //向ArrayList集合中,存入第一个元素,三班的学生
                    hsList.add(hsC);
        //定义第一个map<>集合用于存放 四班有的学生
        HashMap<String, Student> hsD = new HashMap<String, Student>();
            Student stuD1 = new Student("李四", 28);
            Student stuD2 = new Student("王四", 18);
            Student stuD3 = new Student("孙四", 33);
            Student stuD4 = new Student("张四", 33);
                //向hsA中增加四班学生对应关系
                hsD.put("204001",stuD1);
                hsD.put("204002",stuD2);
                hsD.put("204003",stuD3);
                hsD.put("204004",stuD4);
                    //向ArrayList集合中,存入第一个元素,四班的学生
                    hsList.add(hsD);
        //遍历ArrayList 集合
        for(HashMap<String, Student> hsMap :hsList){ //取出集合中的一个元素
            //每一个元素是Map,所以还要遍布Map,
            Set<String> hsMapkey = hsMap.keySet();  //取得每个Map对象中的键集合
             //利用键 找 值
              for(String key :hsMapkey){
                  Student stubyKey = hsMap.get(key);
                  String name = stubyKey.getName();
                  int age = stubyKey.getAge();
                  System.out.println(key+":"+name+","+age);
              }


        }


    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值