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. Spring Boot 构建电商基础秒杀项目 (一) 项目搭建

    SpringBoot构建电商基础秒杀项目 学习笔记 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包, Spring Boot ...

  2. codeforces104A

    Blackjack CodeForces - 104A Tensor特别喜欢玩扑克,还总是爱发明一些关于扑克牌的游戏,有天他突然脑洞大开想到了这样的一个游戏: 现在有一副52张的扑克牌(没有大小王), ...

  3. codeforces362B

    Petya and Staircases CodeForces - 362B 题意: 一个小男孩要上楼梯,他一次可以走1个台阶或2个台阶或3个台阶,但是有一些台阶是脏的,他不想走在脏台阶上.一共有n个 ...

  4. Linux下git的使用——将已有项目放到github上

    本地已经有一个项目了,需要将该项目放到github上,怎么操作? 步骤: 本地安装git,有github账号是前提. (1)先在github创建一个空的仓库,并复制链接地址.使用https,以.git ...

  5. 通过流量清理防御DDoS

    导读 在2018年2月,世界上最大的分布式拒绝服务(DDoS)攻击在发起20分钟内得到控制,这主要得益于事先部署的DDoS防护服务. 这次攻击是针对GitHub–数百万开发人员使用的主流在线代码管理服 ...

  6. Qt setStyleSheet

    Qt中设置按钮或QWidget的外观是,可以使用QT Style Sheets来进行设置,非常方便.可以用setStyleSheet("font: bold; font-size:20px; ...

  7. BZOJ3435[Wc2014]紫荆花之恋——动态点分治(替罪羊式点分树套替罪羊树)

    题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来.仔细看看的话,这个大树实际上是一个带权树.每 ...

  8. Java异步、线程池解决方案

    一.ThreadPoolExecutor------线程池 private static final ThreadPoolExecutor threadPoolExecutor = new Threa ...

  9. 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础)

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础) 1. Host groups ...

  10. python3 特性

    切片: 就是可以取到对象中任意位置的元素,[start:end:interval]:字符串.列表.元组可切片,字典.set()不可: L[:] #复制原L L[:10] #前十个 L[-10:] #后 ...