Map的嵌套使用
Map嵌套Map:
例:
AAA:
Javas班:
001 熊大
002 熊二
Hdoop班
001 小猪猪
002 小菲菲
★使用增强for循环遍历Set数组:
import java.util.HashMap;
import java.util.Set;
import java.util.Map.Entry; public class MapDemo {
public static void main(String[] args) {
//定义javas班的集合
HashMap<String, String> javas=new HashMap<String,String>();
//定义Hdoop班集合
HashMap<String, String> Hdoop=new HashMap<String,String>();
//向班级存储学生
javas.put("001", "熊大");
javas.put("002", "熊二"); Hdoop.put("001", "小猪猪");
Hdoop.put("002", "小菲菲"); //定义AAA容器,键是班级的名字,值是两个班级的容器
HashMap<String, HashMap<String, String>> AAA=new HashMap<String, HashMap<String, String>>(); AAA.put("javas班", javas);
AAA.put("Hdoop班", Hdoop);
entrySet1(AAA);
} private static void entrySet1(HashMap<String, HashMap<String, String>> AAA) {
//调用集合AAA的方法,entrySet将AAA集合的键封装到Set集合中。
Set<Entry<String, HashMap<String, String>>> aaa=AAA.entrySet();
//增强for循环遍历set集合
for(Entry<String, HashMap<String, String>> p:aaa){
//System.out.println(p);
//getkey获得AAA的键,getValue获得值
String classNameKey=p.getKey();
HashMap<String, String> classMap =p.getValue();
System.out.println(classNameKey);
//System.out.println(classMap);
//将classMap装进Set集合
Set<Entry<String, String>> s=classMap.entrySet();
for (Entry<String, String> q:s) {
//getKey获得班级的键,getValue获得值
String numKey=q.getKey();
String nameValue=q.getValue();
System.out.println(numKey+": "+nameValue);
}
}
}
}
★ 使用迭代器遍历Set数组
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.HashMap;
import java.util.Set; //Map嵌套存储Map
public class MaoMapDemo {
public static void main(String[] args) {
//定义javas班的集合
HashMap<String, String> javas=new HashMap<String,String>();
//定义Hdoop班集合
HashMap<String, String> Hdoop=new HashMap<String,String>();
//向班级存储学生
javas.put("001", "熊大");
javas.put("002", "熊二"); Hdoop.put("001", "小猪猪");
Hdoop.put("002", "小菲菲"); //定义AAA容器,键是班级的名字,值是两个班级的容器
HashMap<String, HashMap<String, String>> AAA=new HashMap<String, HashMap<String, String>>(); AAA.put("javas班", javas);
AAA.put("Hdoop班", Hdoop);
entrySet1(AAA);
} private static void entrySet1(HashMap<String, HashMap<String, String>> AAA) {
//调用集合AAA的方法,entrySet将AAA集合的键封装到Set集合中。
Set<Entry<String, HashMap<String, String>>> classNameSet=AAA.entrySet();
/*迭代Set集合*/
//集合绑定迭代器
Iterator<Entry<String, HashMap<String, String>>> it=classNameSet.iterator();
while (it.hasNext()) {
//遍历集合
Entry<String, HashMap<String, String>> next= it.next();
//System.out.println(next);
//getkey获得键,getValue获得值
String classNameKey=next.getKey();
HashMap<String, String> classMap = next.getValue();
//AAA容器的键,班级名字classNameKey
System.out.println(classNameKey);
//AAA容器的值,班级所有元素classMap
//System.out.println(classMap); //entrySet将classMap集合的键封装到Set集合中。
Set<Entry<String, String>> studentSet=classMap.entrySet();
//迭代,集合绑定迭代器
Iterator<Entry<String, String>> studentIt=studentSet.iterator();
while (studentIt.hasNext()) {
//遍历集合
Entry<String, String> studentEntry = studentIt.next();
//getkey获得键,getValue获得值
String numKey=studentEntry.getKey();
String nameValue=studentEntry.getValue(); System.out.println(numKey+": "+nameValue);
}
} }
}
Map的嵌套使用的更多相关文章
- Map的嵌套 练习
Map的嵌套 练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...
- 水果(map的嵌套)
夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了 ...
- Map的嵌套,HDU(1263)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263 新学的map的嵌套 #include <stdio.h> #include < ...
- 双列集合Map的嵌套遍历
双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...
- map的嵌套 + 例题(水果)
水果 http://acm.hdu.edu.cn/showproblem.php?pid=1263 Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~Joe经营着一个 ...
- Map接口----Map中嵌套Map
package cn.good.com; import java.util.HashMap; import java.util.Iterator; import java.util.Map; impo ...
- Map的嵌套
package cn.lijun.demo2; import java.util.HashMap; import java.util.Iterator; import java.util.Set; p ...
- fastjson排序 Map多层嵌套转换自动排序问题终极解决方案
阅读更多 最近项目中用到了fastjson(1.2.15)需要将前端多层嵌套json转换为map,由于map的无序性,想了很多办法,最终找到使用 Map m= JSONArray.parseObjec ...
- golang map多层嵌套使用及遍历方法汇总
原文:https://blog.csdn.net/boyhandsome7/article/details/79734847 ------------------------------------- ...
随机推荐
- flask项目结构(四)使用sqlalchemy和alembic
简介 其实我不是啥正经人,错了,不是啥正经程序员,所能想到的估计也就码农一级吧,高级程序员,搞什么算法,什么人工智能,大数据计算…………离我还太遥远. 但是这并不妨碍我继续学习,继续写垃圾小程序. 反 ...
- java项目性能测试过程记录
一 准备环境和指标 1.主机三台(linux,这里显示的都是伪主机地址):最好用干净的机子,做性能测试的时候别装其他东西在上面跑. 100.22.0.98 部署自己的项目服务 100.22.0.9 ...
- linux文件查看
查看目录 #查看文件 使用 ls 命令,加上参数 -l 表示查看详细信息,-a 表示查看包含隐藏文件在内的文件.也可使用通配符,*代表任意个字符,? 表示单个字符. $ ls ch*.doc #表 ...
- :适配器模式:Adapter
#ifndef __ADAPTER_H__ #define __ADAPTER_H__ #include <iostream> using namespace std; class Duc ...
- SQL-10 获取所有非manager的员工emp_no
题目描述 获取所有非manager的员工emp_noCREATE TABLE `dept_manager` (`dept_no` char(4) NOT NULL,`emp_no` int(11) N ...
- JSP组件Telerik UI for JSP发布R1 2019 SP1|附下载
Telerik UI for JSP拥有由Kendo UI for jQuery支持的40+ JSP组件,同时通过Kendo UI for jQuery的支持能使用JSP封装包构建现代的HTML5和J ...
- DevExpress v18.1新版亮点——Reporting篇(二)
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress Reporting v18.1 的新功能,快来下载试用新版本 ...
- [转]linux shell 多线程实现
情景 shell脚本的执行效率虽高,但当任务量巨大时仍然需要较长的时间,尤其是需要执行一大批的命令时.因为默认情况下,shell脚本中的命令是串行执行的.如果这些命令相互之间是独立的,则可以使用“并发 ...
- 前端小白凭什么杀进 BAT?
七天国庆黄金周转眼即逝,退散的除了出游的热情,还有一波求职热潮...IT 行业的技术者,时常被称为“码农.IT民工” 虽然行业内巨大的人才需求和相对容易得到的高薪,在源源不断的吸引各路人马加入,但它依 ...
- L299 EST 科技英语翻译-美学取向 (下)
4. Ordering(有序美) DescriptiveExpositoryArgumentative Chinese: end focus 句尾焦点English: beginning focus ...