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);
- }
- }
Java中遍历ConcurrentHashMap的四种方式的更多相关文章
- Java中遍历Map的四种方式
Demo如下 Map<String, String> map = new HashMap<>(); map.put("key1","data1&q ...
- JAVA中集合输出的四种方式
在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...
- Java中遍历map的四种方法 - 转载
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- java中遍历集合的三种方式
第一种遍历集合的方式:将集合变为数组 package com.lw.List; import java.util.ArrayList; import java.util.List; import ja ...
- Java中实现多线程的四种方式
Java多线程实现方式主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Cal ...
- Java中遍历数组的三种方式复习
1 for循环遍历 通常遍历数组都是使用for循环来实现.遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度. 程序示例: package captai ...
- java中遍历map的两种方式
1.先将map对象转成set,然后再转为迭代器 Iterator iterator = map.entrySet().iterator(); while(iterator.hasNext()){ En ...
- java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
随机推荐
- nginx重试机制proxy_next_upstream
nginx作为反向代理服务器,后端RS有多台服务器,上层通过一定机制保证容错和负载均衡. nginx的重试机制就是容错的一种 官方链接:http://nginx.org/en/docs/http/ng ...
- seaborn---画热力图
1.引用形式: seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None ...
- 锤子手机做appium自动化测试时,运行脚本总是弹出警告框的问题
当运行脚本的时候,总是提示若干个如上提示框,必须点击同意才能进行下一步:解决方案: 在设置,全局高级设置,开发者选项中打开“总是允许USB安装应用”即可解决:
- Win10上的Docker应用:Docker-compose(容器编排)
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) 前言: 昨天完成了Docker入门示例(Docker应用:Hello World),示 ...
- Gym100739H Hard Molecules
Hard Molecules 给定一个连通图中每个点的度数,求一个满足条件的图,图可以有重边,不能有自环. n<=5000, di<=109 题解 如果不要求图连通,那么只需要判断 \[ ...
- typename T::SubType * ptr;
#include <iostream> using namespace std; template<class T> class MyClass{ public: typena ...
- 阿里巴巴Java开发手册(格式规约篇)——查自己的漏-补自己的缺
(三) 格式规约 1. [强制]大括号的使用约定.如果是大括号内为空,则简洁地写成{}即可,不需要换行:如果是非空代码块则: 1) 左大括号前不换行.行. 2) 左大括号后换行. 3) 右大括号前换行 ...
- Markdown插入图表
链接:https://www.jianshu.com/p/3cf83d22dd3d Markdown图表语法 本文介绍如何用Markdown的mermaid等语法插入时序图.流程图.甘特图 如果是想学 ...
- python 日期、时间、字符串相互转换(转载)
原文链接:https://www.cnblogs.com/huhu-xiaomaomi/p/10338472.html 在python中,日期类型date和日期时间类型dateTime是不能比较的. ...
- JS的ES6的async
1.async概念: 真在意义上解决异步回调函数的问题(由于promise的then方法中还是使用回调函数,而async中await并没有使用回调函数真正意义上解决回调函数),同步流程表达异步操作. ...