Java中遍历ConcurrentHashMap的四种方式
时间:2019-10-31
本文章向大家介绍Java中遍历ConcurrentHashMap的四种方式,主要包括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); } }
原文地址:https://www.cnblogs.com/franson-2016/p/11769710.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【python-leetcode56-区间合并】合并区间
- 【python-leetcode876-快慢指针】链表的中间节点
- vuejs之springboot+vue+element-ui之分页显示相关信息
- vuejs之vue和springboot后端进行通信
- vuejs之springboot+vue+element-ui之添加信息
- vuejs之使用axios发送http请求
- vuejs小例子之记事本
- c语言之在main中获取命令行的参数
- c语言之指针数组
- c语言之函数指针和指针函数的区别
- vuejs之v-model
- c语言之指向函数的指针
- c语言之字符指针变量和字符数组的异同
- c语言之利用指针复制字符串的几种形式
- c语言之利用函数实现字符串的复制