A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

HashMap嵌套HashMap:
  1. package com.kxg.HashMap;

  2. import java.util.HashMap;
  3. import java.util.Set;

  4. /*
  5. *         513宿舍:
  6. *                 李延旭        20
  7. *                 任兴亚        23
  8. *                 赵磊          19
  9. *                 王澳          21
  10. *         515宿舍:
  11. *                 支天亮        22
  12. *                 胡翼泽        22
  13. *                 张腾飞        23
  14. *                 杨帅          24
  15. */
  16. public class HashMapDemo4 {
  17.         public static void main(String[] args) {

  18.                 HashMap<String, HashMap<String, Integer>> ss = new HashMap<String, HashMap<String, Integer>>();

  19.                 HashMap<String, Integer> ss502 = new HashMap<String, Integer>();
  20.                 ss502.put("李延旭", 20);
  21.                 ss502.put("任兴亚", 23);
  22.                 ss502.put("赵磊", 19);
  23.                 ss502.put("王澳", 21);
  24.                 ss.put("513宿舍", ss502);

  25.                 HashMap<String, Integer> ss503 = new HashMap<String, Integer>();
  26.                 ss503.put("支天亮", 22);
  27.                 ss503.put("胡翼泽", 22);
  28.                 ss503.put("张腾飞", 23);
  29.                 ss503.put("杨帅", 24);
  30.                 ss.put("514宿舍", ss503);

  31.                 Set<String> set = ss.keySet();// 得到大集合的所有键值

  32.                 for (String s : set) {
  33.                         System.out.println(s);
  34.                         HashMap<String, Integer> hm2 = ss.get(s);// 遍历键值,找到对应的小集合

  35.                         Set<String> set2 = hm2.keySet();// 得到小集合的所有键值
  36.                         for (String key : set2) {
  37.                                 Integer value = hm2.get(key);// 根据键找到对应的值
  38.                                 System.out.println("\t" + key + ":" + value);
  39.                         }
  40.                 }
  41.         }
  42. }
复制代码



4 个回复

正序浏览
多层嵌套:
  1. package com.kxg.HashMap;

  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Set;

  5. /*
  6. * 黑马程序员
  7. *                 bj        北京校区
  8. *                                 jc        基础班
  9. *                                                 李延旭        20
  10. *                                 jy        就业班
  11. *                                                 任兴亚        23
  12. *                 sh        上海校区
  13. *                                 jc        基础班
  14. *                                                 康小广        23
  15. *                                 jy        就业班
  16. *                                                 张腾飞        23
  17. */
  18. public class HashMapDemo7 {
  19.         public static void main(String[] args) {

  20.                 HashMap<String, HashMap<String, ArrayList<Person>>> hmcxy = new HashMap<String, HashMap<String, ArrayList<Person>>>();

  21.                 HashMap<String, ArrayList<Person>> bj = new HashMap<String, ArrayList<Person>>();

  22.                 HashMap<String, ArrayList<Person>> sh = new HashMap<String, ArrayList<Person>>();

  23.                 ArrayList<Person> bjjc = new ArrayList<Person>();
  24.                 Person p1 = new Person("任兴亚", 23);
  25.                 bjjc.add(p1);
  26.                 bj.put("基础班", bjjc);

  27.                 ArrayList<Person> bjjy = new ArrayList<Person>();
  28.                 Person p2 = new Person("李延旭", 20);
  29.                 bjjy.add(p2);
  30.                 bj.put("就业班", bjjy);
  31.                 hmcxy.put("北京校区", bj);

  32.                 ArrayList<Person> shjc = new ArrayList<Person>();
  33.                 Person p3 = new Person("康小广", 23);
  34.                 shjc.add(p3);
  35.                 sh.put("基础班", shjc);

  36.                 ArrayList<Person> shjy = new ArrayList<Person>();
  37.                 Person p4 = new Person("张腾飞", 23);
  38.                 shjy.add(p4);
  39.                 sh.put("就业班", shjy);
  40.                 hmcxy.put("上海校区", sh);

  41.                 Set<String> hmcxyset = hmcxy.keySet();
  42.                 for (String hmcxykey : hmcxyset) {
  43.                         System.out.println(hmcxykey);
  44.                         HashMap<String, ArrayList<Person>> banji = hmcxy.get(hmcxykey);
  45.                         Set<String> banjiset = banji.keySet();
  46.                         for (String banjikey : banjiset) {
  47.                                 System.out.println("\t" + banjikey);
  48.                                 ArrayList<Person> xueyuan = banji.get(banjikey);
  49.                                 for (Person p : xueyuan) {
  50.                                         System.out.println("\t\t" + p.getName() + ":" + p.getAge());
  51.                                 }
  52.                         }
  53.                 }
  54.         }
  55. }
复制代码



回复 使用道具 举报
你的第一个代码list嵌套map不好吗?
回复 使用道具 举报
ArrayList嵌套HashMap:
  1. package com.kxg.HashMap;

  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Set;

  5. public class HashMapDemo6 {
  6.         public static void main(String[] args) {

  7.                 ArrayList<HashMap<String, Integer>> ss = new ArrayList<HashMap<String, Integer>>();

  8.                 HashMap<String, Integer> ss513 = new HashMap<String, Integer>();

  9.                 ss513.put("李延旭", 20);
  10.                 ss513.put("任兴亚", 23);
  11.                 ss513.put("赵磊", 19);
  12.                 ss513.put("王澳", 21);
  13.                 ss.add(ss513);

  14.                 HashMap<String, Integer> ss514 = new HashMap<String, Integer>();
  15.                 ss514.put("支天亮", 22);
  16.                 ss514.put("胡翼泽", 22);
  17.                 ss514.put("张腾飞", 23);
  18.                 ss514.put("杨帅", 24);
  19.                 ss.add(ss514);

  20.                 for (HashMap<String, Integer> hm : ss) {
  21.                         Set<String> set = hm.keySet();
  22.                         for (String key : set) {
  23.                                 Integer value = hm.get(key);
  24.                                 System.out.println(key + ":" + value);
  25.                         }
  26.                 }
  27.         }
  28. }
复制代码



回复 使用道具 举报
HashMap嵌套ArrayList:
  1. package com.kxg.HashMap;

  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Set;

  5. public class HashMapDemo5 {
  6.         public static void main(String[] args) {

  7.                 HashMap<String, ArrayList<String>> ss = new HashMap<String, ArrayList<String>>();

  8.                 ArrayList<String> ss513 = new ArrayList<String>();
  9.                 ss513.add("李延旭");
  10.                 ss513.add("任兴亚");
  11.                 ss513.add("赵磊");
  12.                 ss513.add("王澳");
  13.                 ss.put("513宿舍", ss513);

  14.                 ArrayList<String> ss514 = new ArrayList<String>();
  15.                 ss514.add("支天亮");
  16.                 ss514.add("胡翼泽");
  17.                 ss514.add("张腾飞");
  18.                 ss514.add("杨帅");
  19.                 ss.put("514宿舍", ss514);

  20.                 Set<String> set = ss.keySet();
  21.                 for (String s : set) {
  22.                         System.out.println(s);
  23.                         ArrayList<String> arr = ss.get(s);
  24.                         for (String result : arr) {
  25.                                 System.out.println("\t" + result);
  26.                         }
  27.                 }

  28.         }
  29. }
复制代码



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马