import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Map.Entry;

public class MapDome {

     //  Map 嵌套存储Map
    //      aaa
    //        java班
    //          001 郭嘉
    //          002 神郭嘉
    //        javahoodp班
    //          001 黄月英
    //          002 神黄月英
    

    //      java班 :存学号和名字
    //      javahoodp班:存学号和名字
    //      学校:存的是班级
    //          java班<学号,姓名>
    //          aaaMap<班级名字,java班>
   
    public static void main(String[] args) {

//定义Java班的集合
        HashMap<String, String> java=new HashMap<String, String>();

    //定义java班级的学生

java.put("001","郭嘉");
            java.put("002", "神郭嘉");

    //定义hdoop班的集合
            
        HashMap<String, String> hdoop=new HashMap<String,String>();

    //向hdoop班保存学生

hdoop.put("001","黄月英");
            hdoop.put("002", "神黄月英");

  //定义学校的集合

HashMap<String, HashMap<String, String>> a=new HashMap<String,HashMap<String, String>>();

    //定义学校是容器    键是班级的名字  值是两个

a.put("java班", java);
            a.put("hdoop班", hdoop);

      //调用集合aaa  的方法    entrySet 将学校集合的键封装到Set集合中
            Set<Entry<String, HashMap<String, String>>> Set=a.entrySet();

    //增强for循环遍历集合

    //获取的是学校的集合

for(Entry<String, HashMap<String, String>> s:Set){

    //获取getkey 和getvalue的值

String key = s.getKey();
                HashMap<String, String> value = s.getValue();
                
                System.out.println(key);
                
                现在获取的是两个班级的集合

Set<Entry<String, String>> enSet = value.entrySet();

      //使用增强for循环,循环Set集合

for(Entry<String, String>l:enSet){
                    String key2 = l.getKey();
                    String value2 = l.getValue();
                    System.out.println(key2+"         "+value2);
                }
            }

System.out.println("+++++++++++++++++++++++++++++++++++");

    //使用迭代  set集合
            Iterator<Entry<String, HashMap<String, String>>> it = Set.iterator();

while (it.hasNext()) {

Entry<String, HashMap<String, String>> next = it.next();
                String key = next.getKey();
                HashMap<String, String> value = next.getValue();
                
            Set<Entry<String, String>> enSet = value.entrySet();
            
            Iterator<Entry<String, String>> ite = enSet.iterator();

while (ite.hasNext()) {

Entry<String, String> next2 = ite.next();
                String key2 = next2.getKey();
                String value2 = next2.getValue();
                System.out.println(key2+"         "+value2);
                
            }
            
            }
                
                
            }

}

Map 嵌套存储Map的更多相关文章

  1. 【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)

    题意: 输入两个正整数N和K(N<=40000,K<=2500),分别为学生和课程的数量.接下来输入K门课的信息,先输入每门课的ID再输入有多少学生选了这门课,接下来输入学生们的ID.最后 ...

  2. android开发之-数据存储Map、HashMap、Hashtable、concurenthashmap区别

    选择一个map进行软件基础数据初始化操作,要求第一次初始化后,不修改数据,可能会出现静态类被回收,然后在进行初始化操作? 1.Map :接口 /** * A {@code Map} is a data ...

  3. bboss oreach循环嵌套遍历map

    foreach循环嵌套遍历mapforeach嵌套dsl脚本定义 <property name="dynamicInnerDsl"> <![CDATA[{ ## ...

  4. Java处理JSON的工具类(List、Map和JSON之间的转换)——依赖jsonlib支持Map嵌套

    原文链接:http://www.itjhwd.com/java_json/ 代码 package com.itjh.mmp.util; import java.io.BufferedReader; i ...

  5. mybatis嵌套map或者map嵌套的parameterType

    Spring的重要注解 https://www.cnblogs.com/rolandlee/p/11014923.html 一:首先是map嵌套: 例1: 例2: 总结: paramterType无论 ...

  6. 用set、map等存储自定义结构体时容器内部判别各元素是否相同的注意事项

    STL作为通用模板极大地方便了C++使用者的编程,因为它可以存储任意数据类型的元素 如果我们想用set与map来存储自定义结构体时,如下 struct pp { double xx; double y ...

  7. java中遍历MAP,嵌套map的几种方法

    java中遍历MAP的几种方法 Map<String,String> map=new HashMap<String,String>();    map.put("us ...

  8. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  9. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

    1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...

随机推荐

  1. cookie 跨域解决方法

    1.Nginx 正向和反向代理的区别 正向代理和反向代理的区别:正向代理隐藏真实客户端,反向代理隐藏真实服务端,图示: 2.cookie跨域问题 因为cookie存在跨域问题,其中一个解决方法是,设置 ...

  2. 通过apicloud实现的混合开发App的Demo

    技术:html+css+js+apicloud封装的api   概述 本Demo主要基本的HTML+CSS+JS实现的混合App,通过第三方平台apicloud主要页面有首页资讯+商城,目前数据都是静 ...

  3. 积木式编程——自制app点灯

    技术:51单片机.串口.蓝牙.积木式编程   概述 这里简单入门了积木式编程,做了个简易APP用来开灯关灯,当然你可以继续添加内容,可以做智能家居.遥控汽车和环境监控等等. 详细 代码下载:http: ...

  4. Python内置的urllib模块不支持https协议的解决办法

    Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内 ...

  5. CountDownLatch、CyclicBarrier和Semaphore 使用示例及原理

    备注:博客园的markDown格式支持的特别不友好.也欢迎查看我的csdn的此篇文章链接:CountDownLatch.CyclicBarrier和Semaphore 使用示例及原理 CountDow ...

  6. Python之string

    1.string模块支持哪些字符形式?分别是什么. string支持的字符形式有: ('_re', '====>', <module 're' from 'C:\Python25\lib\ ...

  7. C#学习笔记(35)——事件做的登录案例

    说明(2018-4-9 20:11:42): 1. 先自定义了一个登录控件,可以输入账号.密码,点击登录.然后在Form1里面拖入这个控件,要求输入账号密码正确时,点击登录,控件显示绿色,否则显示红色 ...

  8. PCL点云配准(3)

    (1)关于点云的配准 1.首先给定源点云与目标点云. 2.提取特征确定对应点 3.估计匹配点对应的变换矩阵 4.应用变换矩阵到源点云到目标点云的变换 配准的流程图 通过特征点的匹配步骤 (1)计算源点 ...

  9. top-N 抽样

        1, 使用hive标记random:(如果是mr,就自己标记random值) use ps; set mapred.job.priority=VERY_HIGH; set mapred.job ...

  10. idea hibernate反转pojo实体类和映射文件