Java中的map集合顺序如何与添加顺序一样

  • A+
所属分类:java

一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加顺序的,那么除了使用hashmap外,还有什么map接口的实现类可以用呢?

这里有2个,treeMap和linkedHashMap,但是,要达到我们的要求:按添加顺序保存元素的,就只有LinkedHashMap。

下面看运行的代码。

package com.lxk.collectionTest;</code>

import com.google.common.collect.Maps;

import java.util.Map;

/**
* 测试Map是否有序的区别
*

* Created by lxk on 2017/5/24
*/
public class OrderedMapTest {
public static void main(String[] args) {
Map&lt;String, Integer&gt; hashMap = Maps.newHashMap();
Map&lt;String, Integer&gt; treeMap = Maps.newTreeMap();
Map&lt;String, Integer&gt; linkedHashMap = Maps.newLinkedHashMap();
System.out.println("--------------test hashMap");
testMap(hashMap);
System.out.println("--------------test treeMap");
testMap(treeMap);
System.out.println("--------------test linkedHashMap");
testMap(linkedHashMap);
}

private static void testMap(Map&lt;String, Integer&gt; map) {
map.put("asd", 1);
map.put("2das", 2);
map.put("3das", 3);
map.put("4das", 4);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}

然后是运行结果的图。

可以看到,要是单单的说有序,那么就hashmap是无序的,但是,要说到添加顺序,那就只有linkedhashmap啦。

我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。
---------------------
作者:李学凯
来源:CSDN
原文:https://blog.csdn.net/qq_27093465/article/details/72676102
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: