1. 程式人生 > >集合框架-集合的巢狀遍歷(HashMap巢狀HashMap)

集合框架-集合的巢狀遍歷(HashMap巢狀HashMap)

B:集合的巢狀遍歷

a:HashMap巢狀HashMap


package cn.itcast_05;

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

/*
 * HashMap巢狀HashMap
 * 
 * 傳智播客
 * 		jc	基礎班
 * 				陳玉樓		20
 * 				高躍		22
 * 		jy	就業班
 * 				李傑		21
 * 				曹石磊		23
 * 
 * 先儲存元素,然後遍歷元素
 */
public class HashMapDemo2 {
	public static void main(String[] args) {
		// 建立集合物件
		HashMap<String, HashMap<String, Integer>> czbkMap = new HashMap<String, HashMap<String, Integer>>();

		// 建立基礎班集合物件
		HashMap<String, Integer> jcMap = new HashMap<String, Integer>();
		// 新增元素
		jcMap.put("陳玉樓", 20);
		jcMap.put("高躍", 22);
		// 把基礎班新增到大集合
		czbkMap.put("jc", jcMap);

		// 建立就業班集合物件
		HashMap<String, Integer> jyMap = new HashMap<String, Integer>();
		// 新增元素
		jyMap.put("李傑", 21);
		jyMap.put("曹石磊", 23);
		// 把基礎班新增到大集合
		czbkMap.put("jy", jyMap);
		
		//遍歷集合
		Set<String> czbkMapSet = czbkMap.keySet();
		for(String czbkMapKey : czbkMapSet){
			System.out.println(czbkMapKey);
			HashMap<String, Integer> czbkMapValue = czbkMap.get(czbkMapKey);
				Set<String> czbkMapValueSet = czbkMapValue.keySet();
					for(String czbkMapValueKey : czbkMapValueSet){
						Integer czbkMapValueValue = czbkMapValue.get(czbkMapValueKey);
						System.out.println("\t"+czbkMapValueKey+"---"+czbkMapValueValue);
					}
		}
	}
}

ZHOU_VIP:

package cn.itcast.mybatis.pojo;

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

public class hello {
    
    public static void main(String[] args) {

        HashMap<String,HashMap<String,Integer>> hm = new HashMap<String,HashMap<String,Integer>>();

        HashMap<String,Integer> hm1 = new HashMap<String,Integer>();
        hm1.put("曹操",25);
        hm1.put("周瑜",20);

        HashMap<String,Integer> hm2 = new HashMap<String,Integer>();
        hm2.put("賈寶玉",21);
        hm2.put("林黛玉",18);

        hm.put("三國",hm1);
        hm.put("紅樓夢",hm2);
        
        //得到鍵的集合:三國 紅樓夢
        Set<String> keyset = hm.keySet();
        for (String key : keyset) {
            //得到鍵值對
            HashMap<String,Integer> keyvalue = hm.get(key);
            //得到鍵值對的鍵
            Set<String> keyset2 = keyvalue.keySet();
            for (String key2 : keyset2) {
                //根據鍵得到值
                Integer value = keyvalue.get(key2);
                System.out.println("\t"+key2+"---"+value);
            }
        }
    
    }

}