package cn.lijun.demo2;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set; public class MapMapDemo {
/*Map 嵌套存储Map
* aaa
* java97 班
* 001 小明
* 002 小红
* javaHoodp 班
* 001 张三
* 002 李四
*
* java班 :存学号和名字
* javahoodp:存学号和名字
* aaa 存班级
*
*/
//方法一 :keySet方法 迭代
public static void main(String[] args) {
//存放java97班
HashMap<String,String> java=new HashMap<String,String>();
java.put("001", "小明");
java.put("002","小红");
//存放hashhoodp
HashMap<String,String> javahoodp=new HashMap<String,String>();
javahoodp.put("001", "张三");
javahoodp.put("002", "小红");
//存放aaa
HashMap<String,HashMap<String,String>> aaa=new HashMap<String,HashMap<String,String>>();
aaa.put("java班", java);
aaa.put("javahoodp", javahoodp);
//用keySet方法把键值对放在set集合
Set<String> k = aaa.keySet();
Iterator<String> it = k.iterator();
while(it.hasNext()){
String akey = it.next();
System.out.println(akey);
HashMap<String, String> aValue = aaa.get(akey);
System.out.println(aValue); Set<String> skey = aValue.keySet();
System.out.println(skey);
Iterator<String> sit = skey.iterator();
while(sit.hasNext()){
String studentkey = sit.next();
String svalue = aValue.get(studentkey);
System.out.println(studentkey+" "+svalue);
}
} } } //方法二 利用entrySet
public class MapMapDemo3 {
public static void main(String[] args) {
HashMap<String,String> java=new HashMap<String,String>();
java.put("001", "小明");
java.put("002", "小红"); HashMap<String,String> javahoodp=new HashMap<String,String>();
javahoodp.put("001","张三");
javahoodp.put("002", "李四"); HashMap<String,HashMap<String,String>> aaa=new HashMap<String,HashMap<String,String>>();
aaa.put("java班",java);
aaa.put("javahoodp", javahoodp);
entrySet1(aaa); } private static void entrySet1(HashMap<String, HashMap<String, String>> aaa) {
Set<Entry<String, HashMap<String, String>>> entrySet = aaa.entrySet();
Iterator<Entry<String, HashMap<String, String>>> it = entrySet.iterator();
while(it.hasNext()){
Entry<String, HashMap<String, String>> next = it.next();
String akey = next.getKey();
HashMap<String, String> avalue = next.getValue();
System.out.println(akey);
System.out.println(avalue); Set<Entry<String, String>> student = avalue.entrySet();
Iterator<Entry<String, String>> sit = student.iterator();
while(sit.hasNext()){
Entry<String, String> next2 = sit.next();
String skey = next2.getKey();
String svalue = next2.getValue();
System.out.println(skey+" "+svalue);
//System.out.println(svalue);
}
} //方法三 用增强for循环遍历
public class MapMapDemo4 {
public static void main(String[] args) {
HashMap<String,String> java=new HashMap<String,String>();
java.put("001","小明");
java.put("002","小红"); HashMap<String,String> javahoodp=new HashMap<String,String>();
javahoodp.put("001", "张三");
javahoodp.put("002","李四"); HashMap<String,HashMap<String,String>> aaa=new HashMap<String,HashMap<String,String>>();
aaa.put("java", java);
aaa.put("javahoodp",javahoodp); Set<Entry<String, HashMap<String, String>>> entrySet = aaa.entrySet();
for(Entry<String, HashMap<String, String>> i : entrySet){
String akey = i.getKey();
HashMap<String, String> avalue= i.getValue();
//System.out.println(akey);
//System.out.println(avalue);
System.out.println(i);
Set<Entry<String, String>> entrySet2 = avalue.entrySet();
for(Entry<String, String> s : entrySet2){
System.out.println(s);
}
}

Map的嵌套的更多相关文章

  1. Map的嵌套 练习

    Map的嵌套   练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...

  2. 水果(map的嵌套)

    夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了 ...

  3. Map的嵌套,HDU(1263)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263 新学的map的嵌套 #include <stdio.h> #include < ...

  4. 双列集合Map的嵌套遍历

    双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...

  5. map的嵌套 + 例题(水果)

    水果 http://acm.hdu.edu.cn/showproblem.php?pid=1263 Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~Joe经营着一个 ...

  6. Map接口----Map中嵌套Map

    package cn.good.com; import java.util.HashMap; import java.util.Iterator; import java.util.Map; impo ...

  7. Map的嵌套使用

    Map嵌套Map: 例: AAA: Javas班: 001 熊大 002 熊二 Hdoop班 001 小猪猪 002 小菲菲 ★使用增强for循环遍历Set数组: import java.util.H ...

  8. fastjson排序 Map多层嵌套转换自动排序问题终极解决方案

    阅读更多 最近项目中用到了fastjson(1.2.15)需要将前端多层嵌套json转换为map,由于map的无序性,想了很多办法,最终找到使用 Map m= JSONArray.parseObjec ...

  9. golang map多层嵌套使用及遍历方法汇总

    原文:https://blog.csdn.net/boyhandsome7/article/details/79734847 ------------------------------------- ...

随机推荐

  1. C#使用MemoryStream类读写内存

    MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法.这两个类都是实现对内存进行数据读写的功能,而不是对持久性 ...

  2. Lodop打印项对象类型属性区分

    Lodop提供了一些打印项类型,默认是普通项,通过设置打印对象的类型,可以实现一些普通项不能实现的效果.例如:该博客另一篇博文 标题是Lodop打印控件 打印‘接下一页’‘以下空白’,就用了眉脚项. ...

  3. c++ 怎么输出保留2位小数的浮点数

    //添加头文件 #include<iomanip> //定义变量 folat a=9.1; cout<<setiosflags(ios::fixed)<<setpr ...

  4. 【数学建模】day10-主成分分析

    0. 关于主成分分析的详细理解以及理论推导,这篇blog中讲的很清楚. 主成分分析是一种常用手段.这应该与因子分析等区别开来,重点在于理解主成分分析的作用以及什么情况下使用主成分分析,本文重点讲解如何 ...

  5. http协议状态码大全

    100 Continue:初始的请求已经接受,客户应当继续发送请求的其余部分.  101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议.  200 OK:一切正常, ...

  6. ZIP压缩包加密破解

    python多线程破解zip文件,废话不多说直接上代码 # -*- coding: UTF-8 -*- #使用多线程和接受参数的形式去破解指定的zip文件 #python3 zip_file_cack ...

  7. BZOJ2463[中山市选2009]谁能赢呢?——博弈论

    题目描述 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问 ...

  8. java使用Rome解析Rss的实例(转)

    Rome简介 Rome是为RSS聚合而开发的开源包,它可以支持0.91.0.92.0.93.0.94.1.0.2.0,可以说rss的版本基本上都支持了. Rss简介 RSS是站点用来和其他站点之间共享 ...

  9. Mysql 语句优化

    通过 show status 命令了解各个 sql 语句的执行频率格式:Mysql> show [session | global] status;注:session 表示当前连接global ...

  10. 图论杂项细节梳理&模板(虚树,圆方树,仙人掌,欧拉路径,还有。。。)

    orzYCB 虚树 %自为风月马前卒巨佬% 用于优化一类树形DP问题. 当状态转移只和树中的某些关键点有关的时候,我们把这些点和它们两两之间的LCA弄出来,以点的祖孙关系连成一棵新的树,这就是虚树. ...