HashMap多层框架嵌套体现

这篇博客展示了如何使用Java HashMap数据结构来管理不同城市(北京、广州、上海)的课程(基础和高级)及对应的学生列表。通过创建多级HashMap,将学生按城市和课程进行分类存储,并进行了遍历展示。
摘要由CSDN通过智能技术生成

在这里插入图片描述

package cn.guomeimei;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

public class MapDemo {
    public static void main(String[] args) {
         HashMap<String,HashMap<String,ArrayList<Student>>> big =new HashMap<String,HashMap<String,ArrayList<Student>>>();
         //bj
        HashMap<String,ArrayList<Student>>bj = new  HashMap<String,ArrayList<Student>>();
        Student s1 = new Student("王媛媛",18);
        Student s2 = new Student("彭媛媛",123);
        ArrayList<Student> Arr = new ArrayList<>();
        Arr.add(s1);
        Arr.add(s2);
        Student g1 = new Student("吴彦祖",13);
        Student g2 = new Student("彭于晏",12);
        ArrayList<Student> arr = new ArrayList<>();
        arr.add(g1);
        arr.add(g2);
        bj.put("基础",Arr);
        bj.put("高级",arr);
        big.put("北京",bj);

        //gz
        HashMap<String,ArrayList<Student>>gz = new  HashMap<String,ArrayList<Student>>();
        Student s1gz = new Student("周星驰",17);
        Student s2gz = new Student("张慧丽",15);
        //学生类
        ArrayList<Student> Arrgz = new ArrayList<>();
        Arrgz.add(s1gz);
        Arrgz.add(s2gz);
        //放入list分类
        Student g1gz = new Student("达叔",21);
        Student g2gz = new Student("吴孟达",23);
        ArrayList<Student> arrgz = new ArrayList<>();
        arrgz.add(g1gz);
        arrgz.add(g2gz);
        gz.put("基础",Arrgz);
        gz.put("高级",arrgz);
        //塞入广州大集合
        big.put("广州",gz);
        //sh
        HashMap<String,ArrayList<Student>>sh = new  HashMap<String,ArrayList<Student>>();
        Student shs1 = new Student("王力宏",61);
        Student shs2 = new Student("我嫩爹",51);
        ArrayList<Student> Arrsh = new ArrayList<>();
        Arrsh.add(shs1);
        Arrsh.add(shs2);
        Student shg1 = new Student("李易峰",31);
        Student shg2 = new Student("乌鱼子",61);
        ArrayList<Student> arrsh = new ArrayList<>();
        arrsh.add(shg1);
        arrsh.add(shg2);
        sh.put("基础",Arrsh);
        sh.put("高级",arrsh);
        big.put("上海",sh);

        Set<String> bigse =big.keySet();
        //放到一个set集合
        for (String i :bigse){
            System.out.println(i+" ");
            HashMap<String,ArrayList<Student>>simlmap =big.get(i);
            Set<String>simllset = simlmap.keySet();
            //从set集合中又拆分成一个小的set集合
            for(String g:simllset){
                System.out.println("  "+g);

                //赋值遍历
                ArrayList<Student>simllsetValue = simlmap.get(g);
                for(Student f :simllsetValue){
                    System.out.println("    "+f.getName()+" "+f.getAge());
                }
            }




        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值