Java基础知识强化之集合框架笔记65:Map集合之集合多层嵌套的数据分析

鸿钧老祖

Java基础知识强化之集合框架笔记65:Map集合之集合多层嵌套的数据分析

1.

为了更符合要求:
  这次的数据就看成是学生对象。

传智播客
  bj 北京校区
    jc  基础班
       林青霞 27
         风清扬 30
        jy  就业班
       赵雅芝 28
       武鑫 29


  sh 上海校区
     jc 基础班
       郭美美 20
       犀利哥 22
     jy 就业班
       罗玉凤 21
       马征 23


   gz 广州校区
     jc 基础班
       王力宏 30
       李静磊 32
     jy 就业班
       郎朗 31
       柳岩 33


       xa 西安校区
     jc 基础班
       范冰冰 27
       刘意 30
     jy 就业班
       李冰冰 28
       张志豪 29

 

2. 代码实现:
(1)Student.java:

复制代码

 1 package cn.itcast_06;
 2 
 3 public class Student {
 4     private String name;
 5     private int age;
 6 
 7     public Student() {
 8         super();
 9     }
10 
11     public Student(String name, int age) {
12         super();
13         this.name = name;
14         this.age = age;
15     }
16 
17     public String getName() {
18         return name;
19     }
20 
21     public void setName(String name) {
22         this.name = name;
23     }
24 
25     public int getAge() {
26         return age;
27     }
28 
29     public void setAge(int age) {
30         this.age = age;
31     }
32 
33 }

复制代码

 

(2)HashMapDemo.java:

复制代码

  1 package cn.itcast_06;
  2 
  3 import java.util.ArrayList;
  4 import java.util.HashMap;
  5 import java.util.Set;
  6 
  7 /*
  8  * 为了更符合要求:
  9  *         这次的数据就看成是学生对象。
 10  * 
 11  * 传智播客
 12  *         bj    北京校区
 13  *             jc    基础班
 14  *                     林青霞        27
 15  *                     风清扬        30
 16  *             jy    就业班    
 17  *                     赵雅芝        28
 18  *                     武鑫        29
 19  *         sh    上海校区
 20  *             jc    基础班
 21  *                     郭美美        20
 22  *                     犀利哥        22
 23  *             jy    就业班    
 24  *                     罗玉凤        21
 25  *                     马征        23
 26  *         gz    广州校区
 27  *             jc    基础班
 28  *                     王力宏        30
 29  *                     李静磊        32
 30  *             jy    就业班    
 31  *                     郎朗        31
 32  *                     柳岩        33
 33  *         xa    西安校区
 34  *             jc    基础班
 35  *                     范冰冰        27
 36  *                     刘意        30
 37  *             jy    就业班    
 38  *                     李冰冰        28
 39  *                     张志豪        29
 40  */
 41 public class HashMapDemo {
 42     public static void main(String[] args) {
 43         // 创建大集合
 44         HashMap<String, HashMap<String, ArrayList<Student>>> czbkMap = new HashMap<String, HashMap<String, ArrayList<Student>>>();
 45 
 46         // 北京校区数据
 47         HashMap<String, ArrayList<Student>> bjCzbkMap = new HashMap<String, ArrayList<Student>>();
 48         ArrayList<Student> array1 = new ArrayList<Student>();
 49         Student s1 = new Student("林青霞", 27);
 50         Student s2 = new Student("风清扬", 30);
 51         array1.add(s1);
 52         array1.add(s2);
 53         ArrayList<Student> array2 = new ArrayList<Student>();
 54         Student s3 = new Student("赵雅芝", 28);
 55         Student s4 = new Student("武鑫", 29);
 56         array2.add(s3);
 57         array2.add(s4);
 58         bjCzbkMap.put("基础班", array1);
 59         bjCzbkMap.put("就业班", array2);
 60         czbkMap.put("北京校区", bjCzbkMap);
 61 
 62         // 晚上可以自己练习一下
 63         // 上海校区数据自己做
 64         // 广州校区数据自己做
 65 
 66         // 西安校区数据
 67         HashMap<String, ArrayList<Student>> xaCzbkMap = new HashMap<String, ArrayList<Student>>();
 68         ArrayList<Student> array3 = new ArrayList<Student>();
 69         Student s5 = new Student("范冰冰", 27);
 70         Student s6 = new Student("刘意", 30);
 71         array3.add(s5);
 72         array3.add(s6);
 73         ArrayList<Student> array4 = new ArrayList<Student>();
 74         Student s7 = new Student("李冰冰", 28);
 75         Student s8 = new Student("张志豪", 29);
 76         array4.add(s7);
 77         array4.add(s8);
 78         xaCzbkMap.put("基础班", array3);
 79         xaCzbkMap.put("就业班", array4);
 80         czbkMap.put("西安校区", xaCzbkMap);
 81 
 82         // 遍历集合
 83         Set<String> czbkMapSet = czbkMap.keySet();
 84         for (String czbkMapKey : czbkMapSet) {
 85             System.out.println(czbkMapKey);
 86             HashMap<String, ArrayList<Student>> czbkMapValue = czbkMap
 87                     .get(czbkMapKey);
 88             Set<String> czbkMapValueSet = czbkMapValue.keySet();
 89             for (String czbkMapValueKey : czbkMapValueSet) {
 90                 System.out.println("\t" + czbkMapValueKey);
 91                 ArrayList<Student> czbkMapValueValue = czbkMapValue
 92                         .get(czbkMapValueKey);
 93                 for (Student s : czbkMapValueValue) {
 94                     System.out.println("\t\t" + s.getName() + "---"
 95                             + s.getAge());
 96                 }
 97             }
 98         }
 99     }
100 }

复制代码

运行效果,如下:

分类: Java基础知识强化之集合框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值