学 Java的第30天 Map中嵌套Map

此博客展示了Java代码,实现了Map中嵌套存储Map的功能。代码创建了不同班级的Map,每个班级Map存储学号和姓名,再将这些班级Map存储在一个总Map中。同时提供了增强for循环和迭代器两种方式遍历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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值