您的位置:首页技术文章
文章详情页

java 遍历Map的几种方法总结

【字号: 日期:2022-08-22 10:10:54浏览:12作者:猪猪

一、迭代key&value

第一种方式:迭代entrySet

1.方法一

/** * entrySet集合for-each循环(推荐使用) * 这种方式必须声明泛型类型: * a.bizData使用Map接收必须得声明泛型;b.for-each()里的Entry的泛型控制可有可无 * Map的泛型控制通常使用<String,Object> */Map<String, Object> bizData = dataBus.getBizData();for (Entry<String, Object> entry : bizData.entrySet()) { System.out.println(entry.getKey() + '=' + entry.getValue());} 

2.方法二

/** * entrySet集合迭代 */Iterator iterator = map.entrySet().iterator();while (iterator.hasNext()) { Entry<String, Object> entry = iterator.next(); System.out.println(entry.getKey() + '=' + entry.getValue()); }

第二种方式:迭代keySet

3.方法三

/** * keySet集合迭代 */Iterator iterator = map.keySet().iterator();while (iterator.hasNext()) { //获取键 String key = iterator.next().toString();//或String key = (String)iterator.next(); //根据键获取值 Object value = map.get(key); System.out.println('键:'+ key + ',值:' + value);}

4.方法四

/** * keySet集合for-each循环 */for (String key:map.keySet()) { System.out.println(key + '=' + map.get(key));}

5.小结

注意:

遍历Map类集合KV,推荐使用entrySet而不是keySet

原因:

keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value;

而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。

说明:

values()返回的是V值集合,是一个list集合对象;keySet()返回的是K值集合,是一个Set集合对象;entrySet()返回的是K-V值组合集合。

二、只迭代key

//只遍历键for (String key:map.keySet()) { System.out.println(key);}

三、只迭代value

//只遍历值for (Object val:map.values()) { System.out.println(val);}

以上就是java 遍历Map的几种方法总结的详细内容,更多关于java 遍历Map的资料请关注好吧啦网其它相关文章!

标签: Java
相关文章: