HashMap遍历,推荐使用entrySet()】的更多相关文章

我们先来做一个测试 public class HashMapTest { private HashMap<String, String> map = new HashMap<>(); @Before public void beforeAllMethodTestInClass() { for (int i = 0; i < 100000; i++) { map.put("a" + i, "aa" + i); map.put("…
之前map遍历,偶尔会先去keyset然后再遍历keyset 比如 Map map = new HashMap(); Iterator it = map.keySet().iterator(); while (it.hasNext()) { Object key = it.next(); Object val = map.get(key); } 但是记过sorarqube提示,这样效率比较低会产生两次循环,后台去网上查询发现确实还存在另一种遍历方式,通过entry set遍历. Map map…
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) {     Map.Entry entry = (Map.Entry) iter.next();     Object key = entry.getKey();     Object val = entry.getValue(); } 效率高,以后一定要使用此种方式! 第二种: Map map = new…
HashMap 是Java开发中经常使用的数据结构.相信HashMap 的基本用法你已经很熟悉了.那么我们该如何遍历HashMap 呢?哪种遍历方式的性能更好呢?本篇文章来为你解决这个疑惑. 一.HashMap 遍历 如果你了解一些HashMap 底层原理,那么你肯定知道HashMap 是一个存储键值对的集合,每个键值对叫Entry.Entry 组成的数组构成了整个HashMap 的主干.Entry 的索引是通过Hash()方法计算出来的.因此Entry在数组内部是无序的(所以我们不能单纯的用f…
使用KeySet和EntrySet遍历的差别 public static void main(String[] args) { HashMap<Integer, Integer> hasMap = new HashMap(); ; i < ; i++) { hasMap.put(i, i); } Long j = System.currentTimeMillis(); ; i < ; i++) { for (Map.Entry<Integer, Integer> int…
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) {     Map.Entry entry = (Map.Entry) iter.next();     Object key = entry.getKey();     Object val = entry.getValue(); } 效率高,以后一定要使用此种方式! 第二种: Map map = new…
Java中HashMap遍历的两种方式 转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key =…
Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object…
JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了map.foreach来进行遍历. keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value.而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高.如果是JDK8,使用Map.foreach方法. 1. keySet和entrySet 1.1 基本用法 keySet: Map map=new HashMap();…
HashMap的遍历 方法一.这是最常见的并且在大多数情况下也是最可取的遍历方式 /** * 在键值都需要时使用 */ Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() +…