我是靠谱客的博主 聪慧冬天,最近开发中收集的这篇文章主要介绍Java中关于HashMap的元素遍历的顺序问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

 

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

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

1 Map<String, String> paramMap = new HashMap<String, String>();

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

1 Map<String, String> paramMap = new LinkedHashMap <String, String>();

  类似的还有 java.util.LinkedHashSet


点关注,不迷路

文章每周持续更新,可以微信搜索「 十分钟学编程 」第一时间阅读和催更,如果这个文章写得还不错,觉得有点东西的话 ~求点赞???? 求关注❤️ 求分享❤️ 
各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

最后

以上就是聪慧冬天为你收集整理的Java中关于HashMap的元素遍历的顺序问题的全部内容,希望文章能够帮你解决Java中关于HashMap的元素遍历的顺序问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部