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

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

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

下面看运行的代码。

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啦。

我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。

发布了445 篇原创文章 · 获赞 7484 · 访问量 761万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览