黑马程序员技术交流社区

标题: 用增强For能不能遍历双列集合啊 [打印本页]

作者: 张猛猛    时间: 2015-8-21 23:11
标题: 用增强For能不能遍历双列集合啊
是不增强for只能用于遍历数组和单列集合啊
作者: lcq0301    时间: 2015-8-21 23:54
也可一用于遍历双列集合吧 ,不过是先通过遍历获得键,然后再通过键获取对应的值
作者: zlsucceed    时间: 2015-8-22 00:23
不知道啊 你写一个测一测啊。
作者: 追梦天涯33    时间: 2015-8-22 00:41
可以的!一下一个实例!
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);
                        }
                }
        }

}





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