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& ...
随机推荐
- nohup 、&、 2>&1 命令分析
nohup的意思是不间断的运行,&的意思是后台运行,2>&1的意思是标准输出和错误输出都重定向到同一个文件. 简单地说nohup运行时即使关掉控制台,它该运行还是运行. http ...
- live555 基本框架
(转) 从程序的结构来看,live项目包括了四个基本库.程序入口类(在mediaServer中)和一些测试代码(在testProgs中).四个基本库是UsageEnvironment,BasicUsa ...
- pandas IO
pd.read_csv("../data/user_info.csv", index_col="name") #假设csv里包含这几列: name, age, ...
- Entity 类中加了@Id 注解后仍然出现org.hibernate.AnnotationException: No identifier specified for entity 错误
查看网上的资料,应该是报错的实体类com.example.domain.p.User中没有添加加主键的注解@Id,这个是必须的.但是我的实体类中明明已经添加了@Id,为什么还会报这个错误呢? 后来检查 ...
- Windows Automation API和自动化测试
https://zhuanlan.zhihu.com/p/22083601\ 感谢轮子哥点赞,这会儿消息扎堆过来了,轮带逛果然不是随便说说的…… 第二篇一个简单的Windows Automation ...
- WGS84与CGCS2000坐标系
1.WGS84,WGS是世界大地测量系统World Geodetic System的缩写,84是说此坐标系是1984年建立的: 2.自上世纪60年代,美国军方相继推出WGS60.WGS66.WGS ...
- 设置hystrix的熔断时间
hystrix的熔断时间默认为1秒,这对于一个要部署的服务器来说太短了,所以可以把这个时间设置大一点 这个时间设置在yml中没有提示,下面是设置的代码: hystrix: command: defau ...
- python3.7 win10配置opencv和扩展库
- yolov2
在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集(用于检测)和ImageNet分类数据集(用于分类) ...
- 将两个各有n个元素的有序表归并成一个有序表,其最多的比较次数
最多的比较次数是当两个有序表的数据刚好是插空顺序的时候,比如:第一个序列是1,3,5,第二个序列是2,4,6,把第二个序列插入到第一个序列中,先把第二个序列中的第一个元素2和第一个序列依次比较,需要比 ...