A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是不增强for只能用于遍历数组和单列集合啊

3 个回复

倒序浏览
也可一用于遍历双列集合吧 ,不过是先通过遍历获得键,然后再通过键获取对应的值
回复 使用道具 举报
不知道啊 你写一个测一测啊。
回复 使用道具 举报
可以的!一下一个实例!
package cn.itcast2;

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

/*
* Map嵌套Map
*
* HashMap:czbk   元素:key:String校区名称     value:班级
* HashMap:班级         元素: key:  String类型班级名称    value:   班级的个数
*/
public class Test3 {

        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("基础班", 5);
                bjClass.put("就业班", 4);
                bjClass.put("冲刺班", 4);
               
                String sh = "上海分校";
                HashMap<String,Integer> shClass = new HashMap<String,Integer>();
               
                shClass.put("基础班", 3);
                shClass.put("就业班", 3);
                shClass.put("冲刺班", 2);
               
                //将元素放到集合中
                czbk.put(bj, bjClass);
                czbk.put(sh, shClass);
               
                //遍历集合
//                System.out.println(czbk);
               
                //获取czbk这个map集合的所有key的集合
                Set<String> outKeys = czbk.keySet();
               
                //依次获取czbk中的每一个键
                for (String outKey : outKeys) {
                        //打印每一个分校名称
                        System.out.println("校区名称:"+outKey);
                       
                        //通过czbk的每一个键获取每一个值
                        HashMap<String, Integer> outValue = czbk.get(outKey);
//                        System.out.println("KEY:"+outKey+" VALUE:"+outValue);
                       
                        ////获取outValue这个map集合的所有key的集合
                        Set<String> inKeys = outValue.keySet();
                        //依次获取outValue中的每一个键
                        for (String inKey : inKeys) {
                                //通过outValue的每一个键获取每一个值
                                Integer inValue = outValue.get(inKey);
//                                System.out.println("key:"+inKey+"value:"+inValue);
                                System.out.println("班级名称:"+inKey+"    班级个数"+inValue);
                        }
                }
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马