大家好,又见面了,我是你们的朋友全栈君。
一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加顺序的,那么除了使用hashmap外,还有什么map接口的实现类可以用呢?
这里有2个,treeMap和linkedHashMap,但是,要达到我们的要求:按添加顺序保存元素的,就只有LinkedHashMap。
下面看运行的代码。
代码语言:javascript复制package com.lxk.collectionTest;
import com.google.common.collect.Maps;
import java.util.Map;
/**
* 测试Map是否有序的区别
* <p>
* Created by lxk on 2017/5/24
*/
public class OrderedMapTest {
public static void main(String[] args) {
Map<String, Integer> hashMap = Maps.newHashMap();
Map<String, Integer> treeMap = Maps.newTreeMap();
Map<String, Integer> 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<String, Integer> 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啦。
我写完文章,给自己点个赞,不过分吧, 不过分,那我可就点啦啊。 我先点为敬,你们随意。大家随意。不要客气。。。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139260.html原文链接:https://javaforall.cn