Map集合的四种遍历
这里记录一下map集合的4种遍历:
第一种
得到所有的key–map.keySet() ,根据key拿到value–map.get(key)
public static void main(String[] args) {Map<String, String> map = new HashMap();map.put("1", "刘备");map.put("2", "关羽");map.put("3", "张飞");map.put("4", "诸葛亮");// 第一种:得到所有的key--map.keySet() ,根据key拿到value--map.get(key)System.out.println("第一种:得到所有的key--map.keySet() ,根据key拿到value--map.get(key)");Set<String> set = map.keySet();for (String key : set) {String value = map.get(key);System.out.println("key为:" + key + ";value为:" + value);}}
控制台打印结果:
第二种
得到Iterator对象–map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和value
public static void main(String[] args) {Map<String, String> map = new HashMap();map.put("1", "吴用");map.put("2", "关胜");map.put("3", "林冲");map.put("4", "武松");// 第二种:得到Iterator对象--map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和valueSystem.out.println("第二种:得到Iterator对象--map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和value");Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();while (iterator.hasNext()){Map.Entry<String, String> entry = iterator.next();System.out.println("key为:" + entry.getKey() + ";value为:" + entry.getValue());}}
控制台打印结果:
第三种
得到 Set<Map.Entry<String, String>> 对象–map.entrySet(),遍历entries拿到Map.Entry对象,再分别拿到key和value
数据量大的时候推荐使用此方法
public static void main(String[] args) {Map<String, String> map = new HashMap();map.put("1", "花果山");map.put("2", "水帘洞");map.put("3", "五指山");map.put("4", "两界山");// 第三种:得到 Set<Map.Entry<String, String>> 对象--map.entrySet(),遍历entries拿到Map.Entry对象,再分别拿到key和valueSystem.out.println("第三种:得到 Set<Map.Entry<String, String>> 对象--map.entrySet(),遍历entries拿到Map.Entry对象,再分别拿到key和value");Set<Map.Entry<String, String>> entries = map.entrySet();for (Map.Entry<String, String> entry : entries) {System.out.println("key为:" + entry.getKey() + ";value为:" + entry.getValue());}}
控制台打印结果:
第四种
只遍历value–map.values() 根据特殊业务需求可以使用此方法
public static void main(String[] args) {Map<String, String> map = new HashMap();map.put("1", "大观园");map.put("2", "宁国府");map.put("3", "潇湘馆");map.put("4", "栊翠庵");// 第四种:只遍历value--map.values() 根据特殊业务需求可以使用此方法System.out.println("第四种:只遍历value--map.values()");Collection<String> values = map.values();for (String value: values) {System.out.println("value为:" + value);}}
控制台打印结果:
测试OK!
欢迎大神指导,可以留言交流!
======================
本人原创文章,转载注明出入!
=================