zoukankan      html  css  js  c++  java
  • 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("	" + czbkMapValueKey);
     91                 ArrayList<Student> czbkMapValueValue = czbkMapValue
     92                         .get(czbkMapValueKey);
     93                 for (Student s : czbkMapValueValue) {
     94                     System.out.println("		" + s.getName() + "---"
     95                             + s.getAge());
     96                 }
     97             }
     98         }
     99     }
    100 }

    运行效果,如下:

  • 相关阅读:
    金蝶数据库执行语句
    金蝶 更新价格分录表触发器
    金蝶触发器,生成条码信息
    SQL从中文中获取拼音首字母
    C语言 typedef用法
    这姑娘漂亮不,说实话,有糖吃
    条码开发的意义在哪里
    ERP开发,重点不在功能
    金蝶出入库数据库表里加字段后出现的问题解决
    解决金蝶未检测到K/3许可文件,并且该账套已超过演示版期限问题
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4866637.html
Copyright © 2011-2022 走看看