Map<String, HashMap<Person, String>> m=new HashMap<String, HashMap<Person, String>>();
        HashMap<Person, String> h1=new HashMap<Person,String>();
        HashMap<Person, String> h2=new HashMap<Person,String>();
        
        h1.put(new Person("小张",16), "java1203");
        h1.put(new Person("小刘",17), "java1203");
        h2.put(new Person("小王",17), "java0999");
        h2.put(new Person("小溪",20), "java0999");
        
        m.put("甲骨文", h1);
        m.put("真古文", h2);
        
        //分别取出各项数据
        //1.keyset  and   for
/*        Set<String> s1=m.keySet();
        for(String s:s1)
        {
            //System.out.println(s);
            HashMap<Person, String> s2=m.get(s);
            Set<Person> s3=s2.keySet();
            for(Person p:s3)
            {
                System.out.println("学校名称为"+s+"班级名称为"+s2.get(p)+"姓名为"+p.getName()+"年龄"+p.getAge());
            }
        }*/
        
        //2.keyset and iter
/*        Set<String> s=m.keySet();
        
        for(Iterator<String> i=s.iterator();i.hasNext();)
        {
            String ss=i.next();
            //System.out.println(ss);
            HashMap<Person, String> schoolname=m.get(ss);
            Set<Person> s2=schoolname.keySet();
            Iterator<Person> i2=s2.iterator();
            while(i2.hasNext())
            {
                Person p=i2.next();
                //System.out.println(p);
                String classname=schoolname.get(p);
                System.out.println("学校名称为"+ss+"班级名称为"+classname+"姓名为"+p.getName()+"年龄"+p.getAge());
                
            }
        }*/
        
        
        //3.map.e  and    for
/*        Set<Map.Entry<String, HashMap<Person, String>>> s=m.entrySet();
        for(Map.Entry<String, HashMap<Person, String>> m2:s)
        {
            String schoolname=m2.getKey();
            HashMap<Person, String> h=m2.getValue();
            Set<Map.Entry<Person, String>> s3=h.entrySet();
            for(Map.Entry<Person, String> m3:s3)
            {
                Person p=m3.getKey();
                String classname=m3.getValue();
                System.out.println("学校名称为"+schoolname+"班级名称为"+classname+"姓名为"+p.getName()+"年龄"+p.getAge());
            }
        }*/
        
        //4.map.e  and   iter
        Set<Map.Entry<String, HashMap<Person, String>>> s=m.entrySet();
        Iterator<Map.Entry<String, HashMap<Person, String>>> i=s.iterator();
        while(i.hasNext())
        {
            Map.Entry<String, HashMap<Person, String>> a=i.next();
            String schoolname=a.getKey();
            HashMap<Person, String> h=a.getValue();
            Set<Map.Entry<Person, String>> s2=h.entrySet();
            
            for(Iterator<Map.Entry<Person, String>> i2=s2.iterator();i2.hasNext();)
            {
                Map.Entry<Person, String> mm=i2.next();
                Person p=mm.getKey();
                String classname=mm.getValue();
                System.out.println("学校名称为"+schoolname+"班级名称为"+classname+"姓名为"+p.getName()+"年龄"+p.getAge());

}
            
        }
        
    }

HashMap集合嵌套集合方法四种的更多相关文章

  1. JS判断Android、iOS或浏览器的多种方法(四种方法)

    第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端. 代码如下: <script type="text/javascript"> ...

  2. 2018. 2.4 Java中集合嵌套集合的练习

    创建学生类有姓名学校和年龄 覆盖toString() 1.创建三个学生对象,放到集合ArrayList 2.输出第2名学生的信息 3.删除第1个学生对象 4.在第2个位置插入1个新学生信息 5.判断刘 ...

  3. 【Python学习】函数参数传递方法四种(位置,关键字,默认值,包裹位置,包裹关键字传递)

    1. 位置传递: #--coding:utf-8-- def send(name,address): return 'package is sent to %s, located in %s' %(n ...

  4. SpringMVC-方法四种类型返回值总结,你用过几种?

    SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类 ...

  5. Android入门——电话拨号器和四种点击事件

    相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...

  6. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  7. Python遍历List集合四种方法

    这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法. 使用Py ...

  8. Java中Map集合的四种访问方式(转)

    最近学习Java发现集合类型真是很多,访问方式也很灵活,在网上找的方法,先放下备用 public static void main(String[] args) { Map<String, St ...

  9. Map集合的四种遍历方式

    很久以前写的代码,和上一个做比较吧!便于以后查看 import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

随机推荐

  1. Django项目打包

    Django项目打包 这是目前开发完成的project目录树.我们要打包其中的polls app. (v_python3.6) thinkt@linux-pw37:~/PycharmProjects/ ...

  2. OEL6 /boot分区删除恢复

    对linux的应用有一段时间来,虽然谈不上精通,但日常应用maintenance还是没问题的,昨天自己故意把/boot分区直接format了,今天来尝试恢复,看看自己对linux启动方面的认识如何,总 ...

  3. 数学--数论--HDU 12151七夕节 Plus (因子和线性筛)

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  4. 应用开发实践之关系型数据库(以MySql为例)小结

    本文主要是对目前工作中使用到的DB相关知识点的总结,应用开发了解到以下深度基本足以应对日常需求,再深入下去更偏向于DB本身的理论.调优和运维实践. 不在本文重点关注讨论的内容(可能会提到一些): 具体 ...

  5. andorid jar/库源码解析之okhttp3

    目录:andorid jar/库源码解析 Okhttp3: 作用: 用于网络编程(http,https)的快速开发. 栗子: // okHttpClient定义成全局静态,或者单例,不然重复new可能 ...

  6. 在web项目中使用shiro(认证、授权)

    一.在web项目中实现认证 第一步,在web项目中导入shiro依赖的包 第二步,在web.xml中声明shiro拦截权限的过滤器 <filter> <filter-name> ...

  7. 使用RSS订阅喜欢的微博博主

    获取uid方法:进入博主微博主页,使用控制台执行 /uid=(\d+)/. exec(document.querySelector('.opt_box .btn_bed').getAttribute( ...

  8. Coursera课程笔记----计算导论与C语言基础----Week 7

    C语言中的数据成分(Week7) 内存 把内存想象成长带,带子上有许多方格,每个方格有8位(8bit) 2^10 = 1024 1B = 8 b 1KB = 1024Byte MB.GB.TB.PB- ...

  9. 标准IDOC同步物料

    目录 1功能说明    4 2功能实现    4 2.1创建逻辑系统并分配集团(SALE)    4 2.2维护RFC目标(SM59)    5 2.3在发送端创建模型视图(BD64)    5 2. ...

  10. Vular开发手记#1:设计并实现一个拼插式应用程序框架

    可视化编(rxeditor)辑告一段落,在知乎上发了一个问题,询问前景,虽然看好的不多,但是关注度还是有的,目前为止积累了21w流量,因为这个事,开心了好长一段时间.这一个月的时间,主要在设计制作Vu ...