遍历map的6种方式
1,平时开发中对map的使用很多,然后发现了很多map可能存在的各种问题;如HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容量 7 次被迫扩大,resize 需要重建 hash 表,严重影响性能,因此最好在初始化时设置map的大小;
2,用 entrySet 遍历 Map 类集合 KV,而不是 keySet 方式进行遍历。因为keySet 其实是遍历了 2 次,一次是转为 Iterator 对象,另一次是从 hashMap 中取出key 所对应的 value。而 entrySet 只是遍历了一次就把 key 和 value 都放到了 entry 中,效率更高。如果是 JDK8,使用 Map.foreach 方法
遍历map的几种方式:
Map<String,String> mp1 = new HashMap<String,String>();
//Map<String,String> mp2 = new HashMap<String,String>();
mp1.put("test", "00"); for(Map.Entry<String,String> mp:mp1.entrySet()){
System.out.println(mp.getKey()+":"+mp.getValue());
} for(String key:mp1.keySet()){
System.out.println(key+":"+mp1.get(key));
}
for(String values:mp1.values()){
System.out.println("values:"+values);
}
for(Iterator<String> i = mp1.keySet().iterator();i.hasNext();){
String str = i.next();
String value = mp1.get(str);
System.out.println(str+":"+value);
}
Iterator<Map.Entry<String,String>> it = mp1.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> en = it.next();
System.out.println(en.getKey()+":"+en.getValue());
}
JDK8 Map.foreach 方法遍历:
Map<String,String> mp1 = new HashMap<String,String>();
mp1.put("test", "00");
mp1.forEach((k,v) -> System.out.println(k));
遍历map的6种方式的更多相关文章
- java遍历Map的几种方式
1.遍历map的几种方式:private Hashtable<String, String> emails = new Hashtable<String, String>(); ...
- 遍历map的几种方式
1,平时开发中对map的使用很多,然后发现了很多map可能存在的各种问题:如HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容量 7 次被迫扩大,resize ...
- java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...
- Java遍历Map的3种方式
package test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import ja ...
- java遍历map的四种方式
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- Java遍历Map的4种方式
public static void main(String[] args) { // 循环遍历Map的4中方法 Map<Integer, Integer> map = new HashM ...
- 遍历Map的四种方式
方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 注意:for-each循环在java 5中被引入所以该方法只能应用于 ...
- 遍历Map的两种方式
取出map集合中所有元素的方式一:keySet()方法. 可以将map集合中的键都取出存放到set集合中.对set集合进行迭代.迭代完成,再通过get方法对获取到的键进行值的获取. Set keySe ...
- [转载] Java 遍历 Map 的 5 种方式
目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...
随机推荐
- JavaWeb网上图书商城完整项目--day02-8.提交注册表单功能之dao、service实现
1.发送邮件 发送邮件的时候的参数我们都写在了配置文件中,配置文件放在src目录下,可以使用类加载器进行加载该数据 //向注册的用户发送邮件 //1读取配置文件 Properties properti ...
- CLR垃圾收集器
CLR GC是一种引用跟踪算法,大致步骤如下: 1.暂停进程中所有的线程: 2.标记阶段,遍历堆中的所有对象,标记为删除,然后检查所有活动根,如果有引用对象,就标记那个对象可达,否则不可达: 3.GC ...
- Executors框架之ScheduledExecutorService实现定时任务
一.简介 An ExecutorService that can schedule commands to run after a given delay, or to execute periodi ...
- 实现MFC扩展DLL中导出类和对话框
如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对 ...
- 【草稿】自定义ASP.NET MVC Html辅助方法
https://www.cnblogs.com/myshell/archive/2010/05/09/1731269.html 在ASP.NET MVC中,Html辅助方法给我们程序员带来很多方便,其 ...
- STL初步学习(vector)
前文 初三下学期进入新的学习,对于前两年的学习内容因为各种原因 上课打游戏,睡觉,看视频 已经遗忘,忘记如何使用,算是重新学习一次信息学,希望能尽快将以前的内容弥补上来,争取能在CSP-2020取得一 ...
- Oracle Solaris 10下gdb安装(附安装包)
文章目录 1. 背景说明 2. gdb相关包 3. gdb安装 3.1 上传资源 3.2 解压 3.3 安装 3.4 环境变量 4. 位数确认 5. 验证可用性 1. 背景说明 本文承接Oracle ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之Nginx配置
搭建好LNMP环境之后,接着要考虑的就是整个系统的并发能力了. 一.Nginx的配置 Nginx有很好的并发能力.但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置.主要需要 ...
- node.js/npm升级正确操作(windows和linux均有)
原文地址:https://www.wjcms.net/archives/nodejsnpm升级正确操作windows和linux均有 今天我们总结一下node.js以及npm升级的正确操作方法. 小编 ...
- The Meaningless Game,算是思维吧。
题目直接链接 题意: 某游戏规则:每次选定数字k(正整数),两人初始分数为1,获胜者分数乘k2,失败者分数成k,给你两个数字,判断是否可能是本游戏的两人的得分. 分析: 为啥题意我不写判断两个数可不可 ...