之前我說過《集合嵌套之ArrayList嵌套ArrayList》,那么HashMap嵌套HashMap該怎么寫呢?其實(shí)真的不難,就跟雙層for循環(huán)是一個(gè)意思,接下來,我們通過一個(gè)案例來演示HashMap嵌套HashMap,看如下代碼程序:
package cn.edu.jit.map;import java.util.HashMap;import cn.edu.jit.bean.Student;/** * 集合嵌套之HashMap嵌套HashMap * * 需求: * 雙元課堂有很多基礎(chǔ)班 * 第88期基礎(chǔ)班定義成一個(gè)雙列集合,鍵是學(xué)生對(duì)象,值是學(xué)生的歸屬地(值可以重復(fù)的) * 第99期基礎(chǔ)班定義成一個(gè)雙列集合,鍵是學(xué)生對(duì)象,值是學(xué)生的歸屬地(值可以重復(fù)的) * * 無論88期還是99期都是班級(jí)對(duì)象,所以為了便于統(tǒng)一管理,把這些班級(jí)對(duì)象添加到雙元課堂集合中。 * @author Rocky * */public class HashMapHMDemo { public static void main(String[] args) { //定義88期基礎(chǔ)班 HashMap<Student, String> hm88 = new HashMap<Student, String>(); hm88.put(new Student("張三",23), "北京"); hm88.put(new Student("李四",24), "北京"); hm88.put(new Student("王五",25), "上海"); hm88.put(new Student("趙六",26), "廣州"); hm88.put(new Student("錢七",27), "深圳"); //定義99期基礎(chǔ)班 HashMap<Student, String> hm99 = new HashMap<Student, String>(); hm99.put(new Student("唐僧",1023), "北京"); hm99.put(new Student("孫悟空",1024), "北京"); hm99.put(new Student("豬八戒",1025), "上海"); hm99.put(new Student("沙和尚",1026), "廣州"); //定義雙元課堂 HashMap<HashMap<Student, String>, String> hm = new HashMap<HashMap<Student, String>, String>(); hm.put(hm88, "第88期基礎(chǔ)班"); hm.put(hm88, "第99期基礎(chǔ)班"); //遍歷雙列集合 for (HashMap<Student, String> h : hm.keySet()) {//hm.keySet()代表的是雙列集合中的鍵的集合 String value = hm.get(h);//get(h)根據(jù)鍵對(duì)象獲取值對(duì)象 //遍歷鍵的雙列集合對(duì)象 for (Student key : h.keySet()) {//h.keySet()是獲取集合中所有的學(xué)生鍵對(duì)象 String value2 = h.get(key); System.out.PRintln(key + "=" + value2 + "=" + value); } } }}今天集合嵌套就介紹到這,本文中所有的案例程序都是本人親測(cè)過,如有不對(duì)的地方請(qǐng)各位朋友歡迎指正,謝謝了!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注