Java HashMap的遍历(常用的四种方式),及key,value规律
HashMap的四种遍历方式
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;/**
* @author Legend E-mail:
* @version 时间:2020年6月3日 下午6:41:01
* 类说明:
*/
public class MapIterator {public static void main(String[] args) {HashMap<String, Integer> map = new HashMap<>();//向map中放值,并验证key,value规律map.put("aa", 12);map.put("bb", 34);map.put("cc", null);map.put("ee", null);map.put(null, 56);/*** 方式一:常用,先获取key,再通过key值获得value*/for(String key: map.keySet()) {Integer value = map.get(key);System.out.println("key:"+key+"--->"+"value:"+value);}System.out.println("--------------");//map中已经存在为“bb”和“null”的key,再次put不同的value,检验结果Integer bbSecond = map.put("bb", 999);Integer nullSecond = map.put(null, 888);System.out.println("map中已经存在的key('bb'),再次put不同的value后,返回值:"+bbSecond);System.out.println("map中已经存在的key('null'),再次put不同的value后,返回值:"+nullSecond);/*** 方式二:大容量时推荐使用,效率较高*/for(Map.Entry<String, Integer> entry: map.entrySet()) {String key = entry.getKey();Integer value = entry.getValue();System.out.println("key:"+key+"--->"+"value:"+value);}System.out.println("================");/*** 方式三:通过Iterator迭代器遍历循,Map.entrySet().iterator();效率不如方式二*/Iterator<Entry<String, Integer>> it = map.entrySet().iterator();while(it.hasNext()) {Entry<String, Integer> next = it.next();System.out.println("key:"+next.getKey()+"--->"+"value:"+next.getValue());}System.out.println("+++++++++++++++++");/*** 方式四:"通过Map.values()遍历所有的value,但不能遍历key");*/for (Integer value : map.values()) {System.out.println("value:" + value);}}
}
运行结果:
key:aa--->value:12
key:bb--->value:34
key:cc--->value:null
key:ee--->value:null
key:null--->value:56
执行以下代码后
Integer bbSecond = map.put("bb", 999);
Integer nullSecond = map.put(null, 888);
System.out.println("map中已经存在的key('bb'),再次put不同的value后,返回值:"+bbSecond);
System.out.println("map中已经存在的key('null'),再次put不同的value后,返回值:"+nullSecond);
============================================
map中已经存在的key('bb'),再次put不同的value后,返回值:34
map中已经存在的key('null'),再次put不同的value后,返回值:56key:aa--->value:12
key:bb--->value:999
key:cc--->value:null
key:ee--->value:null
key:null--->value:888
总结可以得出:
a、若插入的key值map中已经存在,新value会覆盖原有的value,并将原value返回(若key不存在,返回值为null,可自行验证)。
b、value可以为null,并且可以有多个是null;
c、key值也可以为null,但只能有一个是null。
若想知其所以然,还是看源码!!!
温馨提示:
以上为本人学习记录分享内容,希望对大家有所帮助。不喜请小喷……
Java HashMap的遍历(常用的四种方式),及key,value规律相关推荐
- java map 迭代遍历_java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...
- java 遍历map key_java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...
- java如何遍历树_java 遍历树的四种方式
java 遍历树的四种方式 最近做一个玫瑰图报表,数据源为TreeJson(树状json),在网上搜集下资料,和大家分享.: 先序遍历 中序遍历 后序遍历 层次遍历 public class Tree ...
- java arraylist 复制_Copy ArrayList的四种方式
简介 ArrayList是我们经常会用到的集合类,有时候我们需要拷贝一个ArrayList,今天向大家介绍拷贝ArrayList常用的四种方式. 使用构造函数 ArrayList有个构造函数,可以传入 ...
- Java File.createNewFile 创建文件的四种方式小笔记
本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java File.createNewFile 创建文件的四种方式小笔记 - joshua317的博客 1.File(Str ...
- Java JFrame实现全屏的四种方式
JFrame实现全屏的四种方式,方式一: import java.awt.*; import javax.swing.*; public class FullScreenDemo1 { public ...
- Java中数组转List的四种方式
第一种方式(未必最佳):使用ArrayList.asList(strArray) 使用Arrays工具类Arrays.asList(strArray)方式,转换完成后,只能对List数组进行查改,不能 ...
- 【Java并发编程】并发模拟的四种方式
文章目录 并发模拟的四种方式 一.Postman 二.Apache Bench(AB) 三.并发模拟工具JMeter 四.代码模拟 并发模拟的四种方式 一.Postman Postman是一个款htt ...
- Java实现回文串的四种方式
Java实现回文串的两种方式 1.什么是回文串? "回文串"是一个正读和反读都一样的字符串,如"level"或者"noon"等就是回文串. ...
最新文章
- SAP IDoc Post不成功,报错 - Conventional invoice verification no longer maintained as of Release 4.6-
- 使用librosa计算pcen
- 入门Leaflet之小Demo
- 安装VMWare时 the system administrator has set policies to prevent this installation
- 深度学习目标检测相关论文资源合辑
- Hspice2008安装步骤
- springboot整合JWT使用
- 《SpringBoot从菜鸟到老鸟》之SpringBoot 如何配置全局的异常捕获
- sql 分组统计_leetcode-sql面试题十七篇精讲合集
- 基础算法 —— 高精度计算 —— 高精度加法
- 小觅双目相机如何使用_MYNT EYE S小觅双目摄像头标准(彩色)版结构光双目深度惯导相机3D...
- [转]分布式中Redis实现Session终结篇
- PHP代码重用与函数编写
- 【学习资料分享】光纤KVM坐席管理系统解决方案
- 如何删除电脑上的$RECYCLE.BIN文件夹
- 神经元示踪染料RH 237的功能和研究意义
- 毕业设计 微信小程序 音乐播放器
- 《大慈恩寺三藏法师传》简介
- Edge检查更新时出错:无法连接到Internet。如果使用防火墙,请将 MicrosoftEdgeUpdate.exe 加入允许列表中。
- 高斯正反算—投影坐标转大地坐标、大地坐标转投影坐标(附有完整代码及测试结果)