zoukankan      html  css  js  c++  java
  • Java中遍历ConcurrentHashMap的四种方式

    //方式一:在for-each循环中使用entries来遍历
    
    System.out.println("方式一:在for-each循环中使用entries来遍历");
    
    for(Map.Entry<String, String> entry: map.entrySet()) {
    
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    
    }
    //方法二:在for-each循环中遍历keys或values,这种方式适用于需要值或者键的情况,方法二比方法一快了10%
    
    System.out.println("方法二:在for-each循环中遍历keys或values,这种方式适用于需要值或者键的情况");
    
    //遍历键
    
    for(String key : map.keySet()) {
    
    System.out.println("key = " + key);
    
    } 
    //遍历值
    
    for(String value : map.values()) {
    
    System.out.println("value = " + value);
    
    }
    //方法三:使用Iterator遍历,使用并发集合不会报异常,性能类似于方法二
    
    //使用泛型
    
    Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
    
    System.out.println("使用Iterator遍历,并且使用泛型:");
    
    while (entries.hasNext()) {
     
    Map.Entry<String, String> entry = entries.next();
     
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
     
    //注意这里操作了集合,下面的的遍历不会再打印0
    
    if("0".equals(entry.getKey())) {
    
    map.remove(entry.getKey());
    
    }
    
    }
     
    //不使用泛型
    
    Iterator entrys = map.entrySet().iterator();
    
    System.out.println("使用Iterator遍历,并且不使用泛型");
    
    while (entrys.hasNext()) {
     
    Map.Entry entry = (Map.Entry) entrys.next();
     
    String key = (String)entry.getKey();
     
    String value = (String)entry.getValue();
     
    System.out.println("Key = " + key + ", Value = " + value);
     
    }
    //方式四:通过键找值遍历,该方法效率相当低,不建议使用
    
    System.out.println("方式四:通过键找值遍历");
    
    for (String key : map.keySet()) {
     
    String value = map.get(key);
     
    System.out.println("Key = " + key + ", Value = " + value);
     
    }
    
    }
  • 相关阅读:
    USACO Milk2 区间合并
    Codeforces 490B Queue【模拟】
    HDU 3974 Assign the task 简单搜索
    HDU 5119 Happy Matt Friends(2014北京区域赛现场赛H题 裸背包DP)
    Cin、Cout 加快效率方法
    POJ 1159 回文LCS滚动数组优化
    POJ 2479 不相交最大子段和
    POJ 1458 最长公共子序列 LCS
    在阿里最深刻的,还是职场之道给我的震撼
    精细化
  • 原文地址:https://www.cnblogs.com/franson-2016/p/11769710.html
Copyright © 2011-2022 走看看