黑马程序员技术交流社区
标题:
用增强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