Java集合框架——Map集合嵌套练习

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);
			}
		}
	}
}
***执行结果:***
*******
吕布----貂蝉
周瑜----小乔
*******
杨过----小龙女
郭靖----黄蓉
*******
令狐冲----任盈盈
林平之----岳灵珊

猜你喜欢

转载自blog.csdn.net/weixin_43796325/article/details/104451953