Java基础篇 关于解决HashMap的元素遍历的顺序问题
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础篇 关于解决HashMap的元素遍历的顺序问题相关的知识,希望对你有一定的参考价值。
(1)例子:
for (Entry<String, String> entry : hashMap.entrySet()) {
MessageFormat.format("{0}={1}",entry.getKey(),entry.getValue());
}
发现得到的元素不是按照之前加入HashMap的顺序输出的
(2)原因
HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。遍历时只能全部输出,而没有顺序。
可以rehash()
重新散列,来获得更利于随机存取的内部顺序
(3)基础写法,不要求顺序
Map<String, String> paramMap = new HashMap<String, String>();
(4)顺序写法,要求记录插入的顺序
使用java.util.LinkedHashMap ,达到按加入时的顺序遍历
Map<String,String> paramMap = new LinkedHashMap<String,String>();
类似的还有 java.util.LinkedHashSet
以上是关于Java基础篇 关于解决HashMap的元素遍历的顺序问题的主要内容,如果未能解决你的问题,请参考以下文章