Map的嵌套
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的嵌套的更多相关文章
- 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的嵌套使用
Map嵌套Map: 例: AAA: Javas班: 001 熊大 002 熊二 Hdoop班 001 小猪猪 002 小菲菲 ★使用增强for循环遍历Set数组: import java.util.H ...
- fastjson排序 Map多层嵌套转换自动排序问题终极解决方案
阅读更多 最近项目中用到了fastjson(1.2.15)需要将前端多层嵌套json转换为map,由于map的无序性,想了很多办法,最终找到使用 Map m= JSONArray.parseObjec ...
- golang map多层嵌套使用及遍历方法汇总
原文:https://blog.csdn.net/boyhandsome7/article/details/79734847 ------------------------------------- ...
随机推荐
- QXcbConnection: Could not connect to display
import matplotlib; matplotlib.use('agg') 注意:要添加到所有matplotlib前面,否则不起作用
- CUDA开发
CUB库 https://nvlabs.github.io/cub/index.html
- Nginx 滑动窗口与缓冲区
L:125
- 【C/C++】查找(一):静态查找表
{静态查找表 + 动态查找表} 所谓动态,就是,找的时候没有则添加,或者能删除 关键字:primary key:用来表示查找表中的一条记录 {主关键字 + 次关键字} 主关键字是唯一的,用来唯一的标识 ...
- java http 伪造请求头
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import ...
- 进入jsp页面的6种方法
1.sendRedirect重定向,效率低,发送一个状态码,然后让浏览器去请求这个地址,显示最新的url值 2.forword转发,效率高,服务器访问目标url,然后把url的响应内容读取过来,在发送 ...
- BZOJ3676[Apio2014]回文串——回文自动机
题目描述 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最 大出现值. 输入 输入只有一行,为一个只包含小写字 ...
- 基准对象object中的基础类型----元组 (五)
object有如下子类: CLASSES object basestring str unicode buffer bytearray classmethod complex dict enumera ...
- git回滚部分文件到某个版本
reset 命令只能将整个版本的代码一起回滚,需要使用checkout 命令,可以还原部分文件到某一版本 格式为:git checkout [<branch>] [file] 1.首先使用 ...
- 运行os.fork()报AttributeError: module 'os' has no attribute 'fork'
现象 报错代码 def handle(s, c, db): pid = os.fork() if pid == 0: s.close() do_child(c, db) sys.exit() else ...