java_22.1 Map 的应用
定义一个九年级,年级里面有一班和二班。且有属于自己班的学生。
九年级
一班
001 张三
002 李四
二班
001 王五
002 马六
把同学都遍历出来

package demo; import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Map.Entry;; public class Demo {
public static void main(String[] args) {
//定义一班的集合
HashMap<String, String> class1 = new HashMap<String, String>();
//定义二班的集合
HashMap<String, String> class2 = new HashMap<String, String>();
//向班级存储学生
class1.put("001", "张三");
class1.put("002", "李四"); class2.put("001", "王五");
class2.put("002", "马六");
//定义grade容器 键是班级的名字 值是两个班级的容器
HashMap<String, HashMap<String, String>> grade = new HashMap<String, HashMap<String,String>>();
grade.put("class1", class1);
grade.put("class2",class2);
entrySet1(grade);
}
public static void entrySet1(HashMap<String, HashMap<String, String>> grade) {
//entrySet():返回此映射中包含的映射关系的 Set 视图。
Set<Entry<String, HashMap<String, String>>> classNameSet = grade.entrySet();
//迭代Set集合
Iterator<Entry<String, HashMap<String, String>>> it = classNameSet.iterator();
while(it.hasNext()) {
Entry<String, HashMap<String, String>> next = it.next();
//得到班级的名字
String classNameKey = next.getKey();
System.out.println(classNameKey);
//得到具体每个班的map集合
HashMap<String, String> classMap = next.getValue();
Set<Entry<String, String>> classMapSet = classMap.entrySet();
Iterator<Entry<String, String>> studentIt = classMapSet.iterator();
while(studentIt.hasNext()) {
Entry<String, String> studentEntry = studentIt.next();
//得到每个班级的同学的键
String numKey = studentEntry.getKey();
//得到每个班级同学键所对应的的值
String numValue = studentEntry.getValue();
System.out.println(numKey+"\t"+numValue);
} }
}
}

java_22.1 Map 的应用的更多相关文章
- java_22 Map接口
1Map Collection是孤立存在的,向集合中存储元素是一个一个放进去的 Map中的集合存储是成对的,可以通过键找到值.即将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值 ...
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程
在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...
随机推荐
- Python Json & Pickle模块
用于序列化的两个模块 Json,用于字符串 和 python数据类型间进行转换 Pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- Azure SQL 数据库仓库Data Warehouse (4) 2018 TechSummit 动手实验营
<Windows Azure Platform 系列文章目录> 上传一下之前在2018 TechSummit的动手实验营:Azure数据仓库PaaS项目架构规划与实战入门 包含PPT和Wo ...
- 【python】变量的赋值、深浅拷贝
python——赋值与深浅拷贝 https://www.cnblogs.com/Eva-J/p/5534037.html 啥都不说,看这个博主的文章!
- centos7-网络连接
Centos系统在安装完毕后,默认联网状态为no,需要手动开启联网状态. 编辑网卡文件 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 修改O ...
- HTML的day1 HTML的标签
a标签和锚点 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- springBoot 整合mybaits 逆向工程
pom.xml文件中增加配置项 <build> <plugins> <plugin> <groupId>org.springframework.boot ...
- npm安装与使用
NPM 使用介绍 摘自:http://www.runoob.com/nodejs/nodejs-npm.html NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题, ...
- CDC工具使用
最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是0in工具. 本来要 写一些关于 CDC的 知识点,临时有事,要 ...
- Codeforces Round #551 (Div. 2) A-E
A. Serval and Bus 算出每辆车会在什么时候上车, 取min即可 #include<cstdio> #include<algorithm> #include< ...
- 版本控制(svn、Git)环境创建
1.SVN 2.Git last 版本控制工具应该具备的功能: 协同修改: 数据备份: 版本管理: 权限控制: 历史记录:查看修改人.修改时间.修改内容…… 分支管理:开发团队在工作过程中多条产品线同 ...