package com.java.day08;

import java.util.*;

/**
 * @Auther: iteration.1
 * @Date: 10/4/2021 - 04 - 10 - 5:31 PM
 * @Description: 第三题:.新建一个类,类名自取,main里创建一个HashMap对象,使用今天上课讲到的API完成习题
 * 1.有两个班级,一个是“1801”班,一个是“1802”班,1801班有三个学生studentA,studentB,studentC.1802班有
 *两个学生studentD,studentE:
 * studentA:name-张三,age-25,gender-男
 * studentB:name-李四,age-26,gender-男
 * studentC:name-小花,age-27,gender-女
 * studentD:name-小明,age-28,gender-男
 * studentE:name-小红,age-29,gender-女
 *请用map保存好,两个班级学生的数据,每个班级底下保存对应的学生信息,请考虑map 集合的键和值应该是什么类型
 * 2.通过两种循环遍历map集合取出每个班级底下的学员数据,并输出。
 * @version: 1.0
 */
public class TestHashMap {
    public static void main(String[] args) {
        Map<String, Object> attrMapA = new HashMap<>();
        Map<String, Object> attrMapB = new HashMap<>();
        Map<String, Object> attrMapC = new HashMap<>();
        Map<String, Object> attrMapD = new HashMap<>();
        Map<String, Object> attrMapE = new HashMap<>();
        List<Map<String, Object>> studentList1 = new ArrayList<>();
        List<Map<String, Object>> studentList2 = new ArrayList<>();
        Map<String,List<Map<String, Object>>> classMap = new HashMap<>();
        //1801班===============================
        //将studentA的所有属性放入HashMap中这个map就相当于一个学生对象
        attrMapA.put("name", "张三");
        attrMapA.put("age", 25);
        attrMapA.put("gender", "男");
        //将studentA放入ArrayList中
        studentList1.add(attrMapA);
        //将studentB的所有属性放入HashMap中这个map就相当于一个学生对象
        attrMapB.put("name", "李四");
        attrMapB.put("age", 26);
        attrMapB.put("gender", "男");
        //将studentB放入ArrayList中
        studentList1.add(attrMapB);
        //将studentC的所有属性放入HashMap中这个map就相当于一个学生对象
        attrMapC.put("name", "小花");
        attrMapC.put("age", 27);
        attrMapC.put("gender", "女");
        //将studentC放入ArrayList中
        studentList1.add(attrMapC);
        //1801班的三个学生现在都在studentList1中,将其放入HashMap中
        classMap.put("1801", studentList1);
        //1802班===============================
        //将studentD的所有属性放入HashMap中这个map就相当于一个学生对象
        attrMapD.put("name", "小明");
        attrMapD.put("age", 28);
        attrMapD.put("gender", "男");
        //将studentD放入ArrayList中
        studentList2.add(attrMapD);
        //将studentE的所有属性放入HashMap中这个map就相当于一个学生对象
        attrMapE.put("name", "小红");
        attrMapE.put("age", 29);
        attrMapE.put("gender", "女");
        //将studentE放入ArrayList中
        studentList2.add(attrMapE);
        //1802班的两个学生现在都在studentList2中,将其放入HashMap中
        classMap.put("1802", studentList2);
        System.out.println(" Map<String,List<Map<String, Object>>> classMap保存两个班级的数据:");
        System.out.println(classMap);
        //增强for循环遍历
        System.out.println("增强for循环遍历==========================");
        for (String s:classMap.keySet()) {
           System.out.println(s+"班的学生:");
            for (Map<String, Object> map :classMap.get(s)){
                  System.out.println(map);
            }
        }
        //iterator 遍历
        System.out.println("iterator 遍历==========================");
        Iterator<String> s2=classMap.keySet().iterator();//获取两个班级名称
        while(s2.hasNext()){
            String s3=s2.next();
            System.out.println(s3+"班的学生:");
            Iterator list=classMap.get(s3).iterator();//获取某个班级的学生
            while (list.hasNext()){
                System.out.println(list.next());
            }
        }
    }
}

Map<String,List<Map<String, Object>>>遍历相关推荐

  1. java map string stu_Java Map遍历的三种方式 | 学步园

    最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~ 这里给出了三种遍历的方式,注释中已说明各自方式的优点. package edu.hrbeu.cloud.testIterM ...

  2. String 转Map<Object,Map<Object,Object>>

    数据库中存有clob字段 字段是Map<Object,Map<Object,Object>>类型的json 如果用常规的JSONObject转换是会报错的 e.g.: pars ...

  3. Map<String, Object> map=new HashMap<String, Object>();

    HashMap你可以理解成是一对对数据的集合我暂时把List 改成String 你方便理解 Map<String, String> map=new HashMap<String,St ...

  4. java mapstring_ object 遍历_ListMapString,Object使用Java代码遍历以获取String,Object的值...

    List>的结果集怎么使用Java代码遍历以获取String,Object的值? package excel; import java.util.ArrayList; import java.u ...

  5. string转map集合_集合(下)

    7 Set 接口 Set 接口表示一个唯一.无序的容器(和添加顺序无关). 7.1 Set 提供的方法 public static void main(String[] args) {/*** 增:a ...

  6. java string转map_Java string类型转换成map代码实例

    Java string类型转换成map代码实例 背景:有时候string类型的数据取出来是个很标准的key.value形式,通过Gson的可以直接转成map 使用方式: Gson gson = new ...

  7. string转map集合_Map、斗地主案例

    一.Map方法 import java.util.HashMap; import java.util.Map; public class Demo01 {public static void main ...

  8. MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化

    当你希望在 Map 中不使用 String 为 Key,那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化. 本测试方法,可以在 https://github. ...

  9. 现在有一个map集合如下: Map<Integer,String> map = new HashMap<Integer, String>(); map.put(1, “

    代码 import java.util.*;/*4. 现在有一个map集合如下:Map<Integer,String> map = new HashMap<Integer, Stri ...

  10. string转map报错

    com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 22926, line 1, column ...

最新文章

  1. AnsiToUtf8 和 Utf8ToAnsi
  2. wxWidgets:容器类
  3. python 内置的os模块将文件夹下所有图片名称加上指定字符
  4. if函数如何嵌入多个android,Android中多个EditText输入效果的解决方式
  5. WordPress get_allowed_mime_types函数(wp-includes/functions.php)存在跨站脚本漏洞
  6. 网页制作代码模板_科普:关于网页设计的4个基础小知识
  7. #define typedef 区别
  8. python生成一个数组_在for循环中创建多个数组(Python)
  9. IME输入法编程心得
  10. python19 random随机数 json模块 pickle模块 hashlib模块 hmac模块 shutil模块 shelve模块...
  11. postsql 10.4安装失败
  12. 移动端中的vMin和vMax
  13. 学习Linux Bridge与利用Bridge创建虚拟网络
  14. QQ和360大战的这场戏我的看法
  15. 佛祖保佑 ,神兽保佑 , 代码神注释鉴赏,喜欢拿去用
  16. jasper 引入字体_MAC下JasperStudio创建及引用字体
  17. excel多元回归-系数参数解读
  18. 《计算机图形学》实验报告区域填充扫描线算法
  19. 如何通过神经网络实现XNOR函数?
  20. IIS应用程序池标识的权限说明

热门文章

  1. 11月营销活动必备:怎样策划网站活动?
  2. 运营商网络之163/169的概念
  3. java 硬件中断_Java异步事件:轮询与中断
  4. 学pyqt5之前需要学python吗_【第一节】PyQt5简介
  5. 如何用六个步骤封装Python代码包
  6. c语言123输出112233,c语言练习 - 噫_的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 中等专业学校校园广播系统解决方案,职业中专校园IP网络广播系统建设设计指南,校园IP网络广播在职业院校的应用分析
  8. iPhone12无法连接电脑的热点
  9. 计算机vf中rest是什么意思,vf常用命令(全)
  10. css替换csgo弹道,csgo怎么能让弹道更明显一些?