Map的嵌套使用


Map嵌套Map:

例:

  AAA:

    Javas班:

      001  熊大

      002  熊二

    Hdoop班

      001  小豬豬

      002  小菲菲

  ★使用增強for循環遍歷Set數組:

import java.util.HashMap;
import java.util.Set;
import java.util.Map.Entry;

public class MapDemo {
    public static void main(String[] args) {
        //定義javas班的集合
        HashMap<String, String> javas=new HashMap<String,String>();
        //定義Hdoop班集合
        HashMap<String, String> Hdoop=new HashMap<String,String>();
        //向班級存儲學生
        javas.put("001", "熊大");
        javas.put("002", "熊二");
        
        Hdoop.put("001", "小豬豬");
        Hdoop.put("002", "小菲菲");
        
        //定義AAA容器,鍵是班級的名字,值是兩個班級的容器
        HashMap<String, HashMap<String, String>>  AAA=new HashMap<String, HashMap<String, String>>();
        
        AAA.put("javas班", javas);
        AAA.put("Hdoop班", Hdoop);
        entrySet1(AAA);
    }

    private static void entrySet1(HashMap<String, HashMap<String, String>> AAA) {
        //調用集合AAA的方法,entrySet將AAA集合的鍵封裝到Set集合中。
        Set<Entry<String, HashMap<String, String>>> aaa=AAA.entrySet();
    //增強for循環遍歷set集合
        for(Entry<String, HashMap<String, String>> p:aaa){
                    //System.out.println(p);
            //getkey獲得AAA的鍵,getValue獲得值
            String classNameKey=p.getKey();
            HashMap<String, String> classMap =p.getValue();
            System.out.println(classNameKey);
            //System.out.println(classMap);
            //將classMap裝進Set集合
            Set<Entry<String, String>> s=classMap.entrySet();
            for (Entry<String, String> q:s) {
                //getKey獲得班級的鍵,getValue獲得值
                String numKey=q.getKey();
                String nameValue=q.getValue();
                System.out.println(numKey+":    "+nameValue);
            }
        }
    }
}

 ★ 使用迭代器遍歷Set數組

import java.util.Iterator;
import java.util.Map.Entry;
import java.util.HashMap;
import java.util.Set;

//Map嵌套存儲Map
public class MaoMapDemo {
    public static void main(String[] args) {
        //定義javas班的集合
        HashMap<String, String> javas=new HashMap<String,String>();
        //定義Hdoop班集合
        HashMap<String, String> Hdoop=new HashMap<String,String>();
        //向班級存儲學生
        javas.put("001", "熊大");
        javas.put("002", "熊二");
        
        Hdoop.put("001", "小豬豬");
        Hdoop.put("002", "小菲菲");
        
        //定義AAA容器,鍵是班級的名字,值是兩個班級的容器
        HashMap<String, HashMap<String, String>>  AAA=new HashMap<String, HashMap<String, String>>();
        
        AAA.put("javas班", javas);
        AAA.put("Hdoop班", Hdoop);
        entrySet1(AAA);
    }

    private static void entrySet1(HashMap<String, HashMap<String, String>> AAA) {
        //調用集合AAA的方法,entrySet將AAA集合的鍵封裝到Set集合中。
        Set<Entry<String, HashMap<String, String>>> classNameSet=AAA.entrySet();
/*迭代Set集合*/
        //集合綁定迭代器
        Iterator<Entry<String, HashMap<String, String>>> it=classNameSet.iterator();
        while (it.hasNext()) {
            //遍歷集合
            Entry<String, HashMap<String, String>>  next= it.next();
            //System.out.println(next);
            //getkey獲得鍵,getValue獲得值
            String classNameKey=next.getKey();
            HashMap<String, String> classMap = next.getValue();
            //AAA容器的鍵,班級名字classNameKey
            System.out.println(classNameKey);
            //AAA容器的值,班級所有元素classMap
            //System.out.println(classMap);

            //entrySet將classMap集合的鍵封裝到Set集合中。
            Set<Entry<String, String>> studentSet=classMap.entrySet();
            //迭代,集合綁定迭代器
            Iterator<Entry<String, String>> studentIt=studentSet.iterator();
            while (studentIt.hasNext()) {
                //遍歷集合
                Entry<String, String> studentEntry = studentIt.next();
                //getkey獲得鍵,getValue獲得值
                String numKey=studentEntry.getKey();
                String nameValue=studentEntry.getValue();
                
                System.out.println(numKey+":    "+nameValue);
            }
        }
        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM