Map 集合嵌套练习
练习一:将如下的键值对存储到Map集合中,再把Map集合存储到List集合中
- ArrayList集合嵌套HashMap集合
- 三国演义:
周瑜-----小乔
吕布-----貂蝉 - 神雕侠侣:
郭靖-----黄蓉
杨过-----小龙女 - 笑傲江湖:
令狐冲-----任盈盈
林平之-----岳灵珊
package com.map.demo5;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Test {
public static void main(String[] args) {
//Map集合存储小说中的键值对
//三国演义、神雕侠侣、笑傲江湖
HashMap<String, String> sgyy = new HashMap<String, String>();
HashMap<String, String> sdxl = new HashMap<String, String>();
HashMap<String, String> xajh = new HashMap<String, String>();
//List集合存储小说
ArrayList<HashMap> story = new ArrayList<HashMap>();
//向Map集合中添加元素(小说人物)
sgyy.put("周瑜", "小乔");
sgyy.put("吕布", "貂蝉");
sdxl.put("郭靖", "黄蓉");
sdxl.put("杨过", "小龙女");
xajh.put("令狐冲", "任盈盈");
xajh.put("林平之", "岳灵珊");
//向List集合中添加元素(小说)
story.add(sgyy);
story.add(sdxl);
story.add(xajh);
//遍历
for (HashMap hashMap : story) {
System.out.println("******");
Set<Entry<String, String>> entrySet = hashMap.entrySet();
for (Entry<String, String> entry : entrySet) {
System.out.println(entry.getKey() + "----" + entry.getValue());
}
}
}
}
***执行结果:***
*******
吕布----貂蝉
周瑜----小乔
*******
杨过----小龙女
郭靖----黄蓉
*******
令狐冲----任盈盈
林平之----岳灵珊
练习二:将如下的键值对存储到Map集合中,再把Map集合存储到Map集合中
- HashMap集合嵌套HashMap集合
- 三国演义:
周瑜-----小乔
吕布-----貂蝉 - 神雕侠侣:
郭靖-----黄蓉
杨过-----小龙女 - 笑傲江湖:
令狐冲-----任盈盈
林平之-----岳灵珊
package com.map.demo5;
import java.util.HashMap;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
//Map集合存储小说中的键值对
//三国演义、神雕侠侣、笑傲江湖
HashMap<String, String> sgyy = new HashMap<String, String>();
HashMap<String, String> sdxl = new HashMap<String, String>();
HashMap<String, String> xajh = new HashMap<String, String>();
//Map集合存储小说
HashMap<String, HashMap<String, String>> story = new HashMap<String, HashMap<String, String>>();
//向Map集合中添加元素(小说人物)
sgyy.put("周瑜", "小乔");
sgyy.put("吕布", "貂蝉");
sdxl.put("郭靖", "黄蓉");
sdxl.put("杨过", "小龙女");
xajh.put("令狐冲", "任盈盈");
xajh.put("林平之", "岳灵珊");
//向Map集合中添加元素(小说)
story.put("三国演义", sgyy);
story.put("神雕侠侣", sdxl);
story.put("笑傲江湖", xajh);
//遍历
Set<String> names = story.keySet();
//通过书名得到每本书
for (String name : names) {
System.out.println("******");
//通过书名得到书
HashMap<String, String> book = story.get(name);
//遍历书中的人物
Set<String> husbands = book.keySet();
for (String husband : husbands) {
//通过键得到值(丈夫找妻子)
String wife = book.get(husband);
System.out.println(husband + "----" + wife);
}
}
}
}
***执行结果:***
*******
吕布----貂蝉
周瑜----小乔
*******
杨过----小龙女
郭靖----黄蓉
*******
令狐冲----任盈盈
林平之----岳灵珊