Collections工具類 集合的嵌套keySet遍歷

13Collections工具類

A:Collections工具類
/*
* 集合操作的工具類
* Collections
/
public class CollectionsDemo {
public static void main(String[] args) {
function_2();
}
/

* Collections.shuffle方法
* 對List集合中的元素,進行隨機排列
*/
public static void function_2(){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(5);
list.add(9);
list.add(11);
list.add(8);
list.add(10);
list.add(15);
list.add(20);
System.out.println(list);

        //調(diào)用工具類方法shuffle對集合隨機排列
        Collections.shuffle(list);
        System.out.println(list);
    }
    
    /*
     * Collections.binarySearch靜態(tài)方法
     * 對List集合進行二分搜索,方法參數(shù),傳遞List集合,傳遞被查找的元素
     */
    public static void function_1(){
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(5);
        list.add(8);
        list.add(10);
        list.add(15);
        list.add(20);
        //調(diào)用工具類靜態(tài)方法binarySearch
        int index = Collections.binarySearch(list, 16);
        System.out.println(index);
    }
    
    /*
     *  Collections.sort靜態(tài)方法
     *  對于List集合,進行升序排列
     */
    public static void function(){
        //創(chuàng)建List集合
        List<String> list = new ArrayList<String>();
        list.add("ewrew");
        list.add("qwesd");
        list.add("Qwesd");
        list.add("bv");
        list.add("wer");
        System.out.println(list);
        //調(diào)用集合工具類的方法sort
        Collections.sort(list);
        System.out.println(list);
    }
  }

14集合的嵌套

A:集合的嵌套
/*
* Map集合的嵌套,Map中存儲的還是Map集合
* 要求:
* 傳智播客
* Java基礎(chǔ)班
* 001 張三
* 002 李四
*
* Java就業(yè)班
* 001 王五
* 002 趙六
* 對以上數(shù)據(jù)進行對象的存儲
* 001 張三 鍵值對
* Java基礎(chǔ)班: 存儲學(xué)號和姓名的鍵值對
* Java就業(yè)班:
* 傳智播客: 存儲的是班級
*
* 基礎(chǔ)班Map <學(xué)號,姓名>
* 傳智播客Map <班級名字, 基礎(chǔ)班Map>
*/
public class MapMapDemo {
public static void main(String[] args) {
//定義基礎(chǔ)班集合
HashMap<String, String> javase = new HashMap<String, String>();
//定義就業(yè)班集合
HashMap<String, String> javaee = new HashMap<String, String>();
//向班級集合中,存儲學(xué)生信息
javase.put("001", "張三");
javase.put("002", "李四");

        javaee.put("001", "王五");
        javaee.put("002", "趙六");
        //定義傳智播客集合容器,鍵是班級名字,值是兩個班級容器
        HashMap<String, HashMap<String,String>> czbk =
                new HashMap<String, HashMap<String,String>>();
        czbk.put("基礎(chǔ)班", javase);
        czbk.put("就業(yè)班", javaee);
        
         keySet(czbk);
         
    }

15集合的嵌套keySet遍歷

A:集合的嵌套keySet遍歷
/*
* Map集合的嵌套,Map中存儲的還是Map集合
* 要求:
* 傳智播客
* Java基礎(chǔ)班
* 001 張三
* 002 李四
*
* Java就業(yè)班
* 001 王五
* 002 趙六
* 對以上數(shù)據(jù)進行對象的存儲
* 001 張三 鍵值對
* Java基礎(chǔ)班: 存儲學(xué)號和姓名的鍵值對
* Java就業(yè)班:
* 傳智播客: 存儲的是班級
*
* 基礎(chǔ)班Map <學(xué)號,姓名>
* 傳智播客Map <班級名字, 基礎(chǔ)班Map>
*/
public class MapMapDemo {
public static void main(String[] args) {
//定義基礎(chǔ)班集合
HashMap<String, String> javase = new HashMap<String, String>();
//定義就業(yè)班集合
HashMap<String, String> javaee = new HashMap<String, String>();
//向班級集合中,存儲學(xué)生信息
javase.put("001", "張三");
javase.put("002", "李四");

        javaee.put("001", "王五");
        javaee.put("002", "趙六");
        //定義傳智播客集合容器,鍵是班級名字,值是兩個班級容器
        HashMap<String, HashMap<String,String>> czbk =
                new HashMap<String, HashMap<String,String>>();
        czbk.put("基礎(chǔ)班", javase);
        czbk.put("就業(yè)班", javaee);
        
         keySet(czbk);
         
    }
    
     
    
    public static void keySet(HashMap<String,HashMap<String,String>> czbk){
        //調(diào)用czbk集合方法keySet將鍵存儲到Set集合
        Set<String> classNameSet = czbk.keySet();
        //迭代Set集合
        Iterator<String> classNameIt = classNameSet.iterator();
        while(classNameIt.hasNext()){
            //classNameIt.next獲取出來的是Set集合元素,czbk集合的鍵
            String classNameKey = classNameIt.next();
            //czbk集合的方法get獲取值,值是一個HashMap集合
            HashMap<String,String> classMap = czbk.get(classNameKey);
            //調(diào)用classMap集合方法keySet,鍵存儲到Set集合
            Set<String> studentNum = classMap.keySet();
            Iterator<String> studentIt = studentNum.iterator();
       
               while(studentIt.hasNext()){
                //studentIt.next獲取出來的是classMap的鍵,學(xué)號
                String numKey = studentIt.next();
                //調(diào)用classMap集合中的get方法獲取值
                String nameValue = classMap.get(numKey);
                System.out.println(classNameKey+".."+numKey+".."+nameValue);
            }
        }
        
        System.out.println("==================================");
        for(String className: czbk.keySet()){
           HashMap<String, String> hashMap = czbk.get(className);   
           for(String numKey : hashMap.keySet()){
               String nameValue = hashMap.get(numKey);
               System.out.println(className+".."+numKey+".."+nameValue);
           }
        }
    }

   } 

16集合的嵌套entrySet遍歷

A:集合的嵌套entrySet遍歷
/*
 *  Map集合的嵌套,Map中存儲的還是Map集合
 *  要求:
 *    傳智播客  
 *      Java基礎(chǔ)班
 *        001  張三
 *        002  李四
 *      
 *      Java就業(yè)班
 *        001  王五
 *        002  趙六
 *  對以上數(shù)據(jù)進行對象的存儲
 *   001 張三  鍵值對
 *   Java基礎(chǔ)班: 存儲學(xué)號和姓名的鍵值對
 *   Java就業(yè)班:
 *   傳智播客: 存儲的是班級
 *   
 *   基礎(chǔ)班Map   <學(xué)號,姓名>
 *   傳智播客Map  <班級名字, 基礎(chǔ)班Map>
 */
public class MapMapDemo {
    public static void main(String[] args) {
        //定義基礎(chǔ)班集合
        HashMap<String, String> javase = new HashMap<String, String>();
        //定義就業(yè)班集合
        HashMap<String, String> javaee = new HashMap<String, String>();
        //向班級集合中,存儲學(xué)生信息
        javase.put("001", "張三");
        javase.put("002", "李四");
        
        javaee.put("001", "王五");
        javaee.put("002", "趙六");
        //定義傳智播客集合容器,鍵是班級名字,值是兩個班級容器
        HashMap<String, HashMap<String,String>> czbk =
                new HashMap<String, HashMap<String,String>>();
        czbk.put("基礎(chǔ)班", javase);
        czbk.put("就業(yè)班", javaee);
        
        entrySet(czbk);
    }
    
    public static void entrySet(HashMap<String,HashMap<String,String>> czbk){
        //調(diào)用czbk集合方法entrySet方法,將czbk集合的鍵值對關(guān)系對象,存儲到Set集合
        Set<Map.Entry<String, HashMap<String,String>>> 
                                 classNameSet = czbk.entrySet();
        //迭代器迭代Set集合
        Iterator<Map.Entry<String, HashMap<String,String>>> classNameIt = classNameSet.iterator();
        while(classNameIt.hasNext()){
            //classNameIt.next方法,取出的是czbk集合的鍵值對關(guān)系對象
            Map.Entry<String, HashMap<String,String>> classNameEntry =  classNameIt.next();
            //classNameEntry方法 getKey,getValue
            String classNameKey = classNameEntry.getKey();
            //獲取值,值是一個Map集合
            HashMap<String,String> classMap = classNameEntry.getValue();
            //調(diào)用班級集合classMap方法entrySet,鍵值對關(guān)系對象存儲Set集合
            Set<Map.Entry<String, String>> studentSet = classMap.entrySet();
            //迭代Set集合
            Iterator<Map.Entry<String, String>> studentIt = studentSet.iterator();
            while(studentIt.hasNext()){
                //studentIt方法next獲取出的是班級集合的鍵值對關(guān)系對象
                Map.Entry<String, String> studentEntry = studentIt.next();
                //studentEntry方法 getKey getValue
                String numKey = studentEntry.getKey();
                String nameValue = studentEntry.getValue();
                System.out.println(classNameKey+".."+numKey+".."+nameValue);
            }
        }
         System.out.println("==================================");
        
        for (Map.Entry<String, HashMap<String, String>> me : czbk.entrySet()) {
            String classNameKey = me.getKey();
            HashMap<String, String> numNameMapValue = me.getValue();
            for (Map.Entry<String, String> nameMapEntry : numNameMapValue.entrySet()) {
                String numKey = nameMapEntry.getKey();
                String nameValue = nameMapEntry.getValue();
                System.out.println(classNameKey + ".." + numKey + ".." + nameValue);
            }
        }
    }
    

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岔留,一起剝皮案震驚了整個濱河市彬犯,隨后出現(xiàn)的幾起案子蕾域,更是在濱河造成了極大的恐慌久脯,老刑警劉巖酪穿,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纸厉,居然都是意外死亡莽囤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叠艳,“玉大人奶陈,你說我怎么就攤上這事「浇希” “怎么了吃粒?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拒课。 經(jīng)常有香客問我徐勃,道長,這世上最難降的妖魔是什么早像? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任僻肖,我火速辦了婚禮,結(jié)果婚禮上卢鹦,老公的妹妹穿的比我還像新娘臀脏。我一直安慰自己,他們只是感情好冀自,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布揉稚。 她就那樣靜靜地躺著,像睡著了一般熬粗。 火紅的嫁衣襯著肌膚如雪搀玖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天驻呐,我揣著相機與錄音灌诅,去河邊找鬼。 笑死含末,一個胖子當(dāng)著我的面吹牛猜拾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佣盒,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼挎袜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沼撕?” 一聲冷哼從身側(cè)響起宋雏,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤芜飘,失蹤者是張志新(化名)和其女友劉穎务豺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗦明,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡笼沥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奔浅。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡馆纳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汹桦,到底是詐尸還是另有隱情鲁驶,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布舞骆,位于F島的核電站钥弯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏督禽。R本人自食惡果不足惜脆霎,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狈惫。 院中可真熱鬧睛蛛,春花似錦、人聲如沸胧谈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽第岖。三九已至难菌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔑滓,已是汗流浹背郊酒。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留键袱,地道東北人燎窘。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像蹄咖,于是被迫代替她去往敵國和親褐健。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 遍歷集合的N種方式總結(jié) 【示例1】遍歷List方法1澜汤,使用普通for循環(huán) for(inti=0;i<list.si...
    全棧JAVA筆記閱讀 456評論 0 2
  • 第十天 權(quán)限修飾符 public protected default private 同一類 true true ...
    炙冰閱讀 534評論 0 1
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法蚜迅,類相關(guān)的語法,內(nèi)部類的語法俊抵,繼承相關(guān)的語法谁不,異常的語法,線程的語...
    子非魚_t_閱讀 31,602評論 18 399
  • 首先你要準(zhǔn)備兩樣?xùn)|西:硬件和軟件徽诲。 硬件指的是開發(fā)板還有仿真器刹帕,或者叫下載器吵血,又或者叫燒錄器,ISP或者JTAG都...
    亂世工人閱讀 967評論 0 3
  • 秋偷溺,于窗外望去蹋辅,是一些葉子發(fā)黃的植物。于心門望去挫掏,卻看到滿眼的蒼涼與寂寥侦另。每年的秋我都會如此,覺得秋給我一種莫名的...
    木悔閱讀 113評論 0 0