学 Java的第30天 Map中嵌套Map

package cn.aaa;

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

//Map中嵌套存储Map
//aaa
//java班
//  001 周一
//  002 周二
//hoodp班
//  001 周三
//  002 周四
//
//java班 :存学号和名字
//hoodp班:存学号和名字
//aaa:存的是班级
//  java班<学号,姓名>
//  hoodp班<学号,姓名>
//  aaaMap<班级名字,java班>

public class Map {

public static void main(String[] args) {
        HashMap<Integer, String> java=new HashMap<Integer, String>();
        HashMap<Integer, String> hoodp=new HashMap<Integer, String>();
        java.put(001, "周一");
        java.put(002, "周二");
        hoodp.put(001, "周三");
        hoodp.put(002, "周四");
        
        HashMap<String, HashMap<Integer, String>> aaa=new HashMap<String, HashMap<Integer, String>>();
        aaa.put("java班", java);
        aaa.put("hoodp班", hoodp);
        
    //    entrySet(aaa);
        fun(aaa);
        
    }
    //增强for循环
    public static void fun(HashMap<String, HashMap<Integer, String>> aaa) {
        Set<Entry<String, HashMap<Integer, String>>> classNameSet=aaa.entrySet();
        for (Entry<String, HashMap<Integer, String>> entry : classNameSet) {
            String classNameKey=entry.getKey();
            System.out.println(classNameKey);
            HashMap<Integer, String> classMap=entry.getValue();
        //    System.out.println(classMap);
            Set<Entry<Integer, String>> studentSet=classMap.entrySet();
            for (Entry<Integer, String> entry2 : studentSet) {
                int numKey=entry2.getKey();
                String nameValue=entry2.getValue();
                System.out.println(numKey+":"+nameValue);
                
            }
        }
        
    }
    //迭代
    public static void entrySet(HashMap<String, HashMap<Integer, String>> aaa) {
        Set<Entry<String, HashMap<Integer, String>>> classNameSet=aaa.entrySet();
        Iterator<Entry<String, HashMap<Integer, String>>> it=classNameSet.iterator();
        while(it.hasNext()){
            Entry<String, HashMap<Integer, String>> next=it.next();
            String classNameKey=next.getKey();
            HashMap<Integer, String> classMap=next.getValue();
            System.out.println(classNameKey);
//            System.out.println(classMap);
            Set<Entry<Integer, String>> studentSet=classMap.entrySet();
            Iterator<Entry<Integer, String>> studentIt=studentSet.iterator();
            while(studentIt.hasNext()){
                Entry<Integer,String> studentEntry=studentIt.next();
                int numKey=studentEntry.getKey();
                String nameValue=studentEntry.getValue();
                System.out.println(numKey+":"+nameValue);
            }
            
        }
        
        
    }
}

原文地址:https://www.cnblogs.com/--issing/p/10580991.html

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

学 Java的第30天 Map中嵌套Map的相关文章

水果(map的嵌套)

夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了. Input第一行正整数N(0<N<=10)表示有N组测试数据. 每组测试数据的第一行是一个整数M(0<M<=100),表示工有M次成功的交易.其后有M行数据,每行表示一次交易,由水果名称(小写字母组成,长度不超过80),水果产地(小写字母组成,长度不超过80)和交易的水果数目(正整

Java编程之Map中分拣思想。

题目:给定一个字符串,求出字符串中每一个单词在字符串中出现的次数 旨意:map的分拣思想. 每一个key的包装类,存放出现的次数 1 /** 2 * 作为包装类,用来存放英文单词,和该英文单词出现的次数 3 * @ClassName: Str 4 * @Description: TODO(这里用一句话描述这个类的作用) 5 * @author 尚晓飞 6 * @date 2014-7-30 下午6:57:29 7 * 8 */ 9 public class Str { 10 private St

java 中遍历Map的几种方法

转自: http://blog.csdn.net/wzb56/article/details/7864911 方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利用for-each循环: 代码举例如下 package cn.wzb; import java.util.ArrayList; import java.util.HashMap; impor

java中遍历MAP的几种方法

java中遍历MAP的几种方法 Java代码 Map<String,String> map=new HashMap<String,String>();    map.put("username", "qq");    map.put("passWord", "123");    map.put("userID", "1");    map.put("em

Java中遍历Map的常用方法

以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等): 方式一(推荐): 1 // 推荐 2 // 在for-each循环中使用entries来遍历 3 // 注意:for-each循环在Java 5中被引入所以该方法只能应用于java 5或更高的版本中. 4 // 如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用. 5 private s

Java中map接口 遍历map

java集合框架用于存储数据,也被称为集合类 位于java.util包下 java.util包下常用接口和类 Collection和Map是Java集合框架的根接口 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问. Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因). Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value. Map接口 Map

Java中遍历Map对象

下面列出一些最常用的Java遍历Map对象的方法 1.在for-each中使用entrySet遍历 这是最常用的遍历方式.在键值都需要时使用. Map<String,String> map = new HashMap<String,String>(); for(Map.Entry<String, String> entry : map.entrySet()){ System.out.println(entry.getKey()+" : "+entry

Java中读取Map的两种方法对比

引言: 在Java中Map的使用非常频繁,我们经常会需要对Map进行遍历和读取,下面将展示两种遍历的方法以及简要分析. 1.  遍历Map方法A Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val =

Java中的Map List Set等集合类

Map List Set等集合类: 一.概述 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: +Collection 这个接口extends自 --java.lang.Iterable接口 ├+List(接口 代表有序,可重复的集合.列表) │├ ArreyList     (Class 数组,随机访问,没有同步,线程不安全) │├ Vector        (Class  数组                   同步        线程全) │