遍历Map集合的三种方式(最强官方版本)

方法1 for增强型

方法2 Iterator迭代器

方法3 键对值

package com.MapDemo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 
 * @author
 * 存储国家英文简称 国家全称|(键--值对)
 * */
public class MapDemo {
	public static void main(String[] args) {
		
		Map countries = new HashMap();
		
		//往map 集合中添加键值对
		countries.put("CN", "中华人民共和国");
		countries.put("RU", "俄罗斯联邦");
		countries.put("FR", "法兰西共和国");
		countries.put("US", "美利坚众合国");
		
		//获取 Map中的元素个数
		System.out.println(countries.size());
		
		//通过某个键 获取对应的值
		String cnStr =(String) countries.get("CN");
		System.out.println(cnStr);
		
		
		//判断 map中是否包含某个键
		boolean flag  = countries.containsKey("US");
		System.out.println("集合中是否包含US?"+flag);
		
		
		//删除特定键的键值对
		countries.remove("US");
		System.out.println(countries.size());
		
		flag = countries.containsKey("US");
		System.out.println("集合中是否包含US?"+flag);
		
		
		//分别显示map 中键集  值集 和键值对集 
		System.out.println(countries.keySet());//显示键集
		System.out.println(countries.values());//显示值集
		System.out.println(countries);//显示键值对集 
		
		
		
//		//清空
//		countries.clear();
//		if(countries.isEmpty()) {
//			System.out.println("Map数据已清空!");
//			
//		}
		
		
		System.out.println("------------分别获取map中的  键 和 值---------------");
		//思路1: 先获取到每个key,然后根据key拿到 相应的Value
		   Set    keys   =  countries.keySet();
		   System.out.println("------------方法1使用for增强型---------------"); 
		 //使用增强型for拿到每个key
		   for (Object obj : keys) {
			   String key   =(String) obj;
			   String value = (String) countries.get(key);
			   System.out.println(key+"-"+value);
		   }
		
		   System.out.println("------------方法2使用迭代器---------------");
		   Iterator itor = keys.iterator();
		   while(itor.hasNext()) {
			   String key= (String) itor.next();
			   String value = (String) countries.get(key);
			   System.out.println(key+"-"+value);
			   
		   }
		   
		   System.out.println("思路二-------先拿到map中键值对,然后在每个键值对中分别取出键和值");
		   //思路二: 先拿到map中键值对,然后在每个键值对中分别取出键和值
		   Set ms =   countries.entrySet(); //map中所有键值对得到集合
		   for(Object obj :ms) {
			   Map.Entry me =(Entry) obj; //map中的每一个键值对
			   Object key   =me.getKey();  //取出每个键值对中的键
			   Object value =me.getValue();  //取出每个键值对中的值
			   System.out.println((String)key+"-"+(String)value);
		   }
	}

}

 

posted @ 2022-04-26 00:55  你好,Alf  阅读(115)  评论(0编辑  收藏  举报