HashMap集合嵌套集合方法四种
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集合嵌套集合方法四种的更多相关文章
- JS判断Android、iOS或浏览器的多种方法(四种方法)
第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端. 代码如下: <script type="text/javascript"> ...
- 2018. 2.4 Java中集合嵌套集合的练习
创建学生类有姓名学校和年龄 覆盖toString() 1.创建三个学生对象,放到集合ArrayList 2.输出第2名学生的信息 3.删除第1个学生对象 4.在第2个位置插入1个新学生信息 5.判断刘 ...
- 【Python学习】函数参数传递方法四种(位置,关键字,默认值,包裹位置,包裹关键字传递)
1. 位置传递: #--coding:utf-8-- def send(name,address): return 'package is sent to %s, located in %s' %(n ...
- SpringMVC-方法四种类型返回值总结,你用过几种?
SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类 ...
- Android入门——电话拨号器和四种点击事件
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- Python遍历List集合四种方法
这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法. 使用Py ...
- Java中Map集合的四种访问方式(转)
最近学习Java发现集合类型真是很多,访问方式也很灵活,在网上找的方法,先放下备用 public static void main(String[] args) { Map<String, St ...
- Map集合的四种遍历方式
很久以前写的代码,和上一个做比较吧!便于以后查看 import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
随机推荐
- 《Splunk智能运维实战》——1.7 为本书加载样本数据
本节书摘来自华章计算机<Splunk智能运维实战>一书中的第1章,第1.7节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默 ...
- Linux 查看进程资源--ps、top命令
1,ps命令 ps能够给出当前系统中进程的快照.它能捕获系统在某一事件的进程状态 命令参数: a 显示所有进 ...
- DeepWalk论文精读:(3)实验
模块三 1 实验设计 1.1 数据集 BLOGCATALOG[39]:博客作者网络.标签为作者感兴趣的主题. FLICKR[39]:照片分享网站的用户网络.标签为用户的兴趣群组,如"黑白照片 ...
- TensorRT入门
本文转载于:子棐之GPGPU 的 TensorRT系列入门篇 学习一下加深印象 Why TensorRT 训练对于深度学习来说是为了获得一个性能优异的模型,其主要的关注点在与模型的准确度.精度等指标. ...
- 循环结构(for、while)
3.4用for语句实现循环结构 什么是循环结构 for语句 1.什么是循环结构? 循环结构又称为重复结构,是利用计算机运算速度快以及能进行逻辑控制的特点来重复执行某些操作.重复执行的部分称为循环体. ...
- Qt插件系统
说明 近期入职新公司,新公司的项目用到了Qt的插件系统,花时间了解了一下,还以为Qt的插件系统有多么高级呢,原来归根到底还是 dll 的动态调用时获取其中的类那一招啊,原理和之前的文章<DLL的 ...
- 【Kafka】Kafka集群环境搭建
目录 一.初始环境准备 二.下载安装包并上传解压 三.修改配置文件 四.启动ZooKeeper 五.启动Kafka集群 一.初始环境准备 必须安装了JDK和ZooKeeper,并保证Zookeeper ...
- Linux从error while loading shared libraries: libxxx.so.x 错误的常规解决思路看程序与动态库的关系
出现这类错误的原因通常是动态库无法被加载,本文介绍了常规的解决方案,适用多种情况: 创作不易,如果本文帮到了您: 如果本文帮到了您,请帮忙点个赞
- [hdu4416 Good Article Good sentence]后缀自动机SAM
题意:给出串A和串集合B={B1,B2,...,Bn},求串A的所有不同子串中不是B中任一串的子串的数目. 思路:把A和B中所有字符串依次拼接在一起,然后构造后缀自动机,计算每个状态的R集合元素的最大 ...
- 存储过程——公用表表达式(CTE)
目录 0. 背景说明 1. 定义及语法细节 1.1 基本定义 1.2 基本语法 1.3 多个CTE同时声明 1.4 CTE嵌套使用 2. CTE递归查询 2.1 简介 2.2 准备工作 2.3 计算每 ...