可以的!一下一个实例!
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);
}
}
}
}
|