集合嵌套——Map嵌套Map

集合嵌套——Map嵌套Map

定义两个Map类型集合,然后将其嵌套进另一个定义的Map集合中,怎莫做来实现遍历哪?废话不多说,看代码:


public static void main(String[] args) {
		//定义Map集合中的元素
		 Map<String, String> map1=new HashMap<String, String>();
		 map1.put("001", "abc");
		 map1.put("002", "def");
		 map1.put("003", "opq");
		 Map<String, String> map2=new HashMap<String, String>();
		 map2.put("004", "abc");
		 map2.put("005", "def");
		 map2.put("006", "opq");
		 //定义一个Map集合将前两个集合嵌套入这个Map集合中
        Map<String, Map<String, String>> map=new HashMap<String, Map<String,String>>();
        map.put("第一组", map1);
        map.put("第二组", map2);
        keySet(map);//调用自定义keySet()方法实现对嵌套Map的遍历操作
      
}

public static void keySet(Map<String, Map<String, String>> map) {
		//定义一个set集合将大Map的键放入set集合中
		    Set<String> set=map.keySet();
		    Iterator<String> bigIt=set.iterator();//遍历set集合
		    while(bigIt.hasNext()) {
		    	String mapKey=bigIt.next();//将set集合中元素逐个赋值给自定义变量mapKey
		    	Map<String, String> smallMap=map.get(mapKey);//调用map的get()方法将mapKey的值放入自定义的smallMap集合中
		    	Set<String> smallSet=smallMap.keySet();//将smallMap集合的的键放入set集合,
		    	Iterator<String> smallIt=smallSet.iterator();//对smallSet集合开始进行遍历操作
		    	while(smallIt.hasNext()) {
		    		String key=smallIt.next();//定义变量将smallSet中的元素逐个赋值给key
		    		String value=smallMap.get(key);//集合smallMap调用get()方法将键是key的值赋值给自定义变量value,
		    		System.out.println(mapKey+": "+key+"=="+value);//通过while循环打印,得到MapMap集合嵌套的键与值
		    	}
		    }
		
}

打印结果如下

第一组: 001==abc
第一组: 002==def
第一组: 003==opq
第二组: 004==abc
第二组: 005==def
第二组: 006==opq

版权声明:本文为qq_41876593原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。