黑马程序员技术交流社区

标题: Map嵌套MAP [打印本页]

作者: 不安静的丑男子    时间: 2015-8-20 22:02
标题: Map嵌套MAP
如题,题目是  <创智博客  ,班级 >     <  班级  人数>。。

作者: 明天你好,微笑    时间: 2015-8-20 22:02
package cn.intcast2;

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

public class Test2 {

        public static void main(String[] args) {
                        HashMap<String,HashMap<String,Integer>> czbk = new HashMap<String,HashMap<String,Integer>>();
                        String bj = "北京总部";
                        HashMap<String,Integer> bjClass = new HashMap<String,Integer>();
                        bjClass.put("基础班", 6);
                        bjClass.put("就业班", 7);
                        bjClass.put("冲刺班", 6);
                       
                        String sh = "上海分校";
                        HashMap<String,Integer> shClass = new HashMap<String,Integer>();
                        shClass.put("基础班", 6);
                        shClass.put("就业班", 7);
                        shClass.put("冲刺班", 6);
                       
                        String gz = "广州分校";
                        HashMap<String,Integer> gzClass = new HashMap<String,Integer>();
                        gzClass.put("基础班", 6);
                        gzClass.put("就业班", 7);
                        gzClass.put("冲刺班", 6);
                       
                        czbk.put(bj, bjClass);
                        czbk.put(sh, shClass);
                        czbk.put(gz, gzClass);
                       
                        System.out.println(czbk);
                       
                        //接下里就是迭代集合czbk
                        Set<String> outkeys = czbk.keySet();
                        for (String outkey : outkeys) {
                                System.out.println("学校地址:"+outkey);
                                HashMap<String, Integer> outvalue = czbk.get(outkey);
                               
                                Set<String> inkeys = outvalue.keySet();
                                for (String inkey : inkeys) {
                                        Integer invalue = outvalue.get(inkey);
                                        System.out.println("班级种类:"+inkey+"       班级个数:"+invalue);
                                       
                                       
                                }
                                System.out.println(  );
                        }
                       
                       
        }

}

作者: 史柯    时间: 2015-8-20 22:05
Map<className,Map<className,count>>
作者: 费世福    时间: 2015-8-20 22:16
送分来,哈哈哈
public class Test02 {

        /**
         * 集合的嵌套遍历
          HashMap嵌套HashMap
         
       需求:
如题,题目是  <创智博客  ,班级 >     <  班级  人数>。。
                 传智播客(Map)
           jc  班级1(Map)
                itcast001    zhangsan
                itcast002    lisi                     
            jy  班级2(Map)
                itcast003    wangwu
                itcast004    zhaoliu
          思路:
               放入数据   从内层到外层
                      遍历:从外层到内存

         */
        public static void main(String[] args) {
                //  itcast001    zhangsan
                //  放入数据  从内层到外层
                //构建班级1基础班级
                HashMap<String, String>  class1Map=new HashMap<String, String>();                
                class1Map.put("itcast001", "zhangsan");
                class1Map.put("itcast002", "lisi");               
                //构建班级2就业班级               
                HashMap<String, String> class2Map=new HashMap<String, String>();
                class2Map.put("itcast003", "wangwu");
                class2Map.put("itcast004", "zhaoliu");               
                //把班级放入学校
                HashMap<String, HashMap<String, String>> schoolMap=new HashMap<String, HashMap<String,String>>();
                schoolMap.put("jc", class1Map);
                schoolMap.put("jy", class2Map);
               
                //遍历:从外层到内存   先遍历学校在遍历班级               
                for (String schoolkey : schoolMap.keySet()) {
                        System.out.println(schoolkey);
                        //通过key取班级                       
                        HashMap<String, String> classMap=schoolMap.get(schoolkey);                       
                        //通过班级取学生                       
                        for (String classKey : classMap.keySet()) {
                                String value=classMap.get(classKey);
                                System.out.println(classKey+"=="+value);                               
                        }
                }
        }

}
作者: 费世福    时间: 2015-8-21 22:14
费世福 发表于 2015-8-20 22:16
送分来,哈哈哈
public class Test02 {

没关系,能解决就好
作者: 蛋糕的爱意    时间: 2015-8-23 00:26
按照视频老师来做的话,都是先写大容器再写小容器的,我就是先写小容器然后再写大容器套着小容器,看来也有人和我的思路相似雅。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2