软件编程
位置:首页>> 软件编程>> java编程>> java中的HashMap多层嵌套

java中的HashMap多层嵌套

作者:jingxian  发布时间:2023-11-27 07:34:52 

标签:java,HashMap,多层嵌套

java HashMap多层嵌套

java中的HashMap多层嵌套

java中的HashMap多层嵌套

package chapter12;
import java.util.HashMap;
public class Demo03 {
   //班级  -组  -学生
   static HashMap<String,HashMap<String,HashMap<String,Integer>>> map= new HashMap<>();
   public static void main(String[] args) {
       HashMap<String,HashMap<String,Integer>> map50= new HashMap<>();
       HashMap<String,Integer> map50_1= new HashMap<>();
       map50_1.put("50_1_3",77);
       map50_1.put("50_1_2",88);
       map50_1.put("50_1_1",99);
       map50.put("第一组",map50_1);
       HashMap<String,Integer> map50_2= new HashMap<>();
       map50_2.put("50_2_3",75);
       map50_2.put("50_2_2",85);
       map50_2.put("50_2_1",95);
       map50.put("第二组",map50_2);
       map.put("通达50班",map50);
       HashMap<String,HashMap<String,Integer>> map51= new HashMap<>();
       HashMap<String,Integer> map51_1= new HashMap<>();
       map51_1.put("51_1_3",77);
       map51_1.put("51_1_2",88);
       map51_1.put("51_1_1",99);
       map51.put("第一组",map51_1);
       HashMap<String,Integer> map51_2= new HashMap<>();
       map51_2.put("51_2_3",75);
       map51_2.put("51_2_2",85);
       map51_2.put("51_2_1",95);
       map51.put("第二组",map51_2);
       map.put("通达51班",map51);
       HashMap<String,HashMap<String,Integer>> map52= new HashMap<>();
       HashMap<String,Integer> map52_1= new HashMap<>();
       map52_1.put("52_1_3",77);
       map52_1.put("52_1_2",88);
       map52_1.put("52_1_1",99);
       map52.put("第一组",map52_1);
       HashMap<String,Integer> map52_2= new HashMap<>();
       map52_2.put("52_2_3",75);
       map52_2.put("52_2_2",85);
       map52_2.put("52_2_1",95);
       map52.put("第二组",map52_2);
       map.put("通达52班",map52);
       map.forEach((className,cMap)->{
           System.out.println(className+"信息展示:");
           System.out.println("*******************************");
           cMap.forEach((group,gMap)->{
               System.out.println(className+group);
               gMap.forEach((name,score)->{
                   System.out.println("姓名:"+name+"\t分数:"+score);
               });
           });
           System.out.println("*****************************");
       });
//        forEach();
   }
//    public static void forEach(){
//        map.forEach((className,cMap)->{
//            System.out.println(className+"信息展示:");
//            System.out.println("*******************************");
//            cMap.forEach((group,gMap)->{
//                System.out.println(className+group);
//                gMap.forEach((name,score)->{
//                    System.out.println("姓名:"+name+"\t分数:"+score);
//                });
//            });
//            System.out.println("*****************************");
//        });
//    }
}

三层HashMap的嵌套

package cn.itcast_04;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
/*
* 三层HashMap的嵌套
*
* 动漫小说
*    dm   动漫区
*               rm  日漫:
*                        漩涡鸣人        27
*                        宇智波佐助      30
*               gm  国漫:
*                        闻人翊          29
*                        张楚岚          29
*    xs   小说区
*               xh  玄幻:
*                        狠人大帝      25
*                        林动          32
*               qh   奇幻
*                         唐三       21
*                         比比东     42
*/
public class 集合的多层嵌套 {
public static void main(String[] args) {

//创建集合1    
HashMap<String,HashMap<String,ArrayList<Student>>> dx  =
new HashMap<String,HashMap<String,ArrayList<Student>>>();

//创建动漫区
HashMap<String,ArrayList<Student>> dm = new   HashMap<String,ArrayList<Student>> ();
  //创建日漫集合
    ArrayList<Student> array1 = new ArrayList<Student>();
       //创建并添加数据
   Student s1 = new Student("漩涡鸣人 ",27);
Student s2 = new Student("宇智波佐助 ",30);
       array1.add(s1);
       array1.add(s2);
 //创建国漫集合
   ArrayList<Student> array2 = new ArrayList<Student>();
      //创建并添加数据
      Student s3 = new Student("闻人翊",29);
  Student s4 = new Student("张楚岚  ",29);
  array2.add(s3);
  array2.add(s4);
//添加
  dm.put("日漫", array1);
  dm.put("国漫", array2);

//创建小说区
HashMap<String,ArrayList<Student>> xs = new   HashMap<String,ArrayList<Student>>();
    //创建玄幻集合
ArrayList<Student> array3 = new ArrayList<Student>();
  //创建并添加数据
 Student s5 = new Student("狠人大帝 ",25);
 Student s6 = new Student("林动  ",32);
  array3.add(s5);
  array3.add(s6);
  //创建奇幻集合
  ArrayList<Student> array4 = new ArrayList<Student>();
  //创建并添加数据
   Student s7 = new Student("唐三 ",21);
Student s8 = new Student("比比东 ",42);
   array4.add(s7);
array4.add(s8);
//添加
xs.put("玄幻", array3);
xs.put("奇幻", array4);

dx.put("动漫", dm);
dx.put("小说", xs);

//遍历
Set<String>  hmset=  dx.keySet();
for(String hmkey:hmset) {
System.out.println(hmset);
HashMap<String,ArrayList<Student>> hmvalue = dx.get(hmkey);
   Set<String>  hm1set=  hmvalue.keySet();
for(String hm1key:hm1set) {
System.out.println("\t"+hm1set);
 ArrayList<Student> value = hmvalue.get(hm1key);
for(Student s:value) {
System.out.println("\t\t"+s.getName()+"-------"+s.getAng());
}
}
}        
}
}

来源:https://blog.csdn.net/qq_57420582/article/details/125625776

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com