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

it2022-05-09  14

方法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); } } }

 


最新回复(0)