黑马程序员技术交流社区
标题:
【记录】代码练习-集合嵌套
[打印本页]
作者:
Kevin.Kang
时间:
2015-7-20 11:25
标题:
【记录】代码练习-集合嵌套
HashMap嵌套HashMap:
package com.kxg.HashMap;
import java.util.HashMap;
import java.util.Set;
/*
* 513宿舍:
* 李延旭 20
* 任兴亚 23
* 赵磊 19
* 王澳 21
* 515宿舍:
* 支天亮 22
* 胡翼泽 22
* 张腾飞 23
* 杨帅 24
*/
public class HashMapDemo4 {
public static void main(String[] args) {
HashMap<String, HashMap<String, Integer>> ss = new HashMap<String, HashMap<String, Integer>>();
HashMap<String, Integer> ss502 = new HashMap<String, Integer>();
ss502.put("李延旭", 20);
ss502.put("任兴亚", 23);
ss502.put("赵磊", 19);
ss502.put("王澳", 21);
ss.put("513宿舍", ss502);
HashMap<String, Integer> ss503 = new HashMap<String, Integer>();
ss503.put("支天亮", 22);
ss503.put("胡翼泽", 22);
ss503.put("张腾飞", 23);
ss503.put("杨帅", 24);
ss.put("514宿舍", ss503);
Set<String> set = ss.keySet();// 得到大集合的所有键值
for (String s : set) {
System.out.println(s);
HashMap<String, Integer> hm2 = ss.get(s);// 遍历键值,找到对应的小集合
Set<String> set2 = hm2.keySet();// 得到小集合的所有键值
for (String key : set2) {
Integer value = hm2.get(key);// 根据键找到对应的值
System.out.println("\t" + key + ":" + value);
}
}
}
}
复制代码
作者:
Kevin.Kang
时间:
2015-7-20 11:46
HashMap嵌套ArrayList:
package com.kxg.HashMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class HashMapDemo5 {
public static void main(String[] args) {
HashMap<String, ArrayList<String>> ss = new HashMap<String, ArrayList<String>>();
ArrayList<String> ss513 = new ArrayList<String>();
ss513.add("李延旭");
ss513.add("任兴亚");
ss513.add("赵磊");
ss513.add("王澳");
ss.put("513宿舍", ss513);
ArrayList<String> ss514 = new ArrayList<String>();
ss514.add("支天亮");
ss514.add("胡翼泽");
ss514.add("张腾飞");
ss514.add("杨帅");
ss.put("514宿舍", ss514);
Set<String> set = ss.keySet();
for (String s : set) {
System.out.println(s);
ArrayList<String> arr = ss.get(s);
for (String result : arr) {
System.out.println("\t" + result);
}
}
}
}
复制代码
作者:
Kevin.Kang
时间:
2015-7-20 12:06
ArrayList嵌套HashMap:
package com.kxg.HashMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class HashMapDemo6 {
public static void main(String[] args) {
ArrayList<HashMap<String, Integer>> ss = new ArrayList<HashMap<String, Integer>>();
HashMap<String, Integer> ss513 = new HashMap<String, Integer>();
ss513.put("李延旭", 20);
ss513.put("任兴亚", 23);
ss513.put("赵磊", 19);
ss513.put("王澳", 21);
ss.add(ss513);
HashMap<String, Integer> ss514 = new HashMap<String, Integer>();
ss514.put("支天亮", 22);
ss514.put("胡翼泽", 22);
ss514.put("张腾飞", 23);
ss514.put("杨帅", 24);
ss.add(ss514);
for (HashMap<String, Integer> hm : ss) {
Set<String> set = hm.keySet();
for (String key : set) {
Integer value = hm.get(key);
System.out.println(key + ":" + value);
}
}
}
}
复制代码
作者:
China_Riven
时间:
2015-7-20 13:10
你的第一个代码list嵌套map不好吗?
作者:
Kevin.Kang
时间:
2015-7-20 15:21
多层嵌套:
package com.kxg.HashMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
/*
* 黑马程序员
* bj 北京校区
* jc 基础班
* 李延旭 20
* jy 就业班
* 任兴亚 23
* sh 上海校区
* jc 基础班
* 康小广 23
* jy 就业班
* 张腾飞 23
*/
public class HashMapDemo7 {
public static void main(String[] args) {
HashMap<String, HashMap<String, ArrayList<Person>>> hmcxy = new HashMap<String, HashMap<String, ArrayList<Person>>>();
HashMap<String, ArrayList<Person>> bj = new HashMap<String, ArrayList<Person>>();
HashMap<String, ArrayList<Person>> sh = new HashMap<String, ArrayList<Person>>();
ArrayList<Person> bjjc = new ArrayList<Person>();
Person p1 = new Person("任兴亚", 23);
bjjc.add(p1);
bj.put("基础班", bjjc);
ArrayList<Person> bjjy = new ArrayList<Person>();
Person p2 = new Person("李延旭", 20);
bjjy.add(p2);
bj.put("就业班", bjjy);
hmcxy.put("北京校区", bj);
ArrayList<Person> shjc = new ArrayList<Person>();
Person p3 = new Person("康小广", 23);
shjc.add(p3);
sh.put("基础班", shjc);
ArrayList<Person> shjy = new ArrayList<Person>();
Person p4 = new Person("张腾飞", 23);
shjy.add(p4);
sh.put("就业班", shjy);
hmcxy.put("上海校区", sh);
Set<String> hmcxyset = hmcxy.keySet();
for (String hmcxykey : hmcxyset) {
System.out.println(hmcxykey);
HashMap<String, ArrayList<Person>> banji = hmcxy.get(hmcxykey);
Set<String> banjiset = banji.keySet();
for (String banjikey : banjiset) {
System.out.println("\t" + banjikey);
ArrayList<Person> xueyuan = banji.get(banjikey);
for (Person p : xueyuan) {
System.out.println("\t\t" + p.getName() + ":" + p.getAge());
}
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2