博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中关于HashMap的元素遍历的顺序问题
阅读量:5929 次
发布时间:2019-06-19

本文共 586 字,大约阅读时间需要 1 分钟。

  今天在使用如下的方式遍历HashMap里面的元素时

1 for (Entry
entry : hashMap.entrySet()) {2 MessageFormat.format("{0}={1}",entry.getKey(),entry.getValue());3 }

  发现得到的元素不是按照之前加入HashMap的顺序输出的,这个问题我之前倒是没有注意过,后来上网查了一下原因,发现是:HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。遍历时只能全部输出,而没有顺序。甚至可以rehash()重新散列,来获得更利于随机存取的内部顺序。

  总之,遍历HashMap或Hashtable时不要求顺序输出,即与顺序无关。

1 Map
paramMap = new HashMap
();

  可以用java.util.LinkedHashMap 就是按加入时的顺序遍历了。

1 Map
paramMap = new LinkedHashMap
();

  类似的还有 java.util.LinkedHashSet

转载地址:http://acktx.baihongyu.com/

你可能感兴趣的文章
JavaWeb基础知识点之Servlet
查看>>
xcode编译报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1
查看>>
漫画:女生/男生告白攻略
查看>>
php 截取字符串
查看>>
js、react、vue阻止事件冒泡
查看>>
Java 面向对象 之 内部类
查看>>
如何在VMware中创建虚拟机
查看>>
Java--Tomcat服务器学习和使用(一)
查看>>
去IOE 遇到Jdbc mysql sql_mode的坑
查看>>
优化过程 PK :Julia 能打败 Python 和 R 笑到最后吗?
查看>>
《可以量化的管理学》绪论
查看>>
Class文件二进制分析
查看>>
LevelDB系统结构与设计思路分析
查看>>
深入Spring Boot:排查@Transactional引起的NullPointerException
查看>>
省钱利器!基于TensorFlow的端到端验证码识别
查看>>
中概股再遭重创:猎豹移动破发 金融界暴跌23.17%
查看>>
一次job的耗时优化经历
查看>>
抛弃硅谷,本田于东京建立AI中心
查看>>
一种高兼容性的JavaBean序列化方案
查看>>
「镁客·请讲」比奇创新李玮琛:用肌电感知人体行为,我们敢做也敢保证做好...
查看>>