Map 嵌套存储Map

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

public class demo10 {
   public static void main(String[] args) {
    //定义java班的集合
    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>>> classa = aaa.entrySet();
    //迭代Set集合
    //Iterator<Entry<String, HashMap<String,String>>> it= classa.iterator();
//    while (it.hasNext()) {
//        Entry<String, HashMap<String,String>> b = it.next();
//        String  n = b.getKey();
//        HashMap< String, String> v= b.getValue();
//        System.out.println(n);
//        System.out.println(v);
//        Set<Entry<String, String>> x = v.entrySet();
//        Iterator<Entry<String, String>> its = x.iterator();
//        while(its.hasNext()){
//            Entry<String, String> c = its.next();
//            String o = c.getKey();
//            String p = c.getValue();
//            System.out.println(o+" "+p);
//        }
//    }
    //外循环控制输出班级名字和班级容器
    for(Entry<String, HashMap<String,String>> i: classa){
        String  n = i.getKey();
        HashMap< String, String> v= i.getValue();
        System.out.println(n);
        System.out.println(v);
        Set<Entry<String, String>> x = v.entrySet();
        //内循环控制输出容器中的内容
        for(Entry<String, String> r:x){
            String o = r.getKey();
            String p = r.getValue();
            System.out.println(o+" "+p);
        }
    }
    
}
}

原文地址:https://www.cnblogs.com/lxy4/p/10580677.html

时间: 2024-08-04 14:45:09

Map 嵌套存储Map的相关文章

【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)

题意: 输入两个正整数N和K(N<=40000,K<=2500),分别为学生和课程的数量.接下来输入K门课的信息,先输入每门课的ID再输入有多少学生选了这门课,接下来输入学生们的ID.最后N次询问,输入学生的ID输出该学生选了多少们课,输出所选课程的数量,按照递增序输出课程的ID. trick: 第5个数据点出现段错误,把原本以map存学生对应ID再映射vector存储该学生所选课程改成vector嵌套在map内,就没有段错误的问题出现,疑似映射过程中指针漂移??? 代码: #define H

bboss oreach循环嵌套遍历map

foreach循环嵌套遍历mapforeach嵌套dsl脚本定义 <property name="dynamicInnerDsl"> <![CDATA[{ ## 最多返回1000条记录 size: #[size], "query": { "bool": { "must": [ #set($needComma = false) #foreach($condition in $conditions.entrySe

map嵌套

第一次使用map嵌套,做个纪念. HDU 1263 水果 http://acm.hdu.edu.cn/showproblem.php?pid=1263 题解:按照地名的字典序.水果的字典序.水果的数量这个顺序输出.题意很简单,关键是用map嵌套. 代码: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #include<algorithm&g

Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 (2)删除功能 void clear():移除所有的键值对元素 V remove(Object key):根据键删除键值对元素,并把值返回 (3)判断功能 boolean containsKey(Object key):判断集合是否包含指定的键 bo

Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点

1. Map集合的概述: 1 public interface Map<K,V> 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢?如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称.但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗?针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合 Map.通过查

mybatis异常:Could not find result map java.util.Map 问题分析及解决

错误写法 <select id="queryXXXCount" resultMap="java.util.Map" > mybatis报出的异常日志: org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.Map at org.apache.ibatis.builder.MapperBuilderAssistant.setStat

Map.Entry遍历Map

Map.entry是Java中的一个接口.每一个Map.entry代表一个map对象. 可以通过 Map是java中的接口,Map.Entry是Map的一个内部接口,它表示map中的一个实体(及一个key-value对). map提供了一些方法如entrySet()返回值entry实体的set集合 Set<Map.Entry<K,V>>:keySet()返回值key的set集合 Set<K> 常用用来遍历map中的key和遍历map中的实体的方法为: Map<St

Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值

1. Map集合的遍历  Map -- 夫妻对 思路:  A:把所有的丈夫给集中起来.  B:遍历丈夫的集合,获取得到每一个丈夫.  C:让丈夫去找自己的妻子.  转换:  A:获取所有的键  B:遍历键的集合,获取得到每一个键  C:根据键去找值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 public cla

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo