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

Java中的map集合顺序如何与添加顺序一样一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加顺序的,那么除了使用hashmap外,还有什么map接口的实现类可以用呢?这里有2个,treeMap和linkedHashMap,但是,要达到我们的要求:按添加顺序保存元素的,就只有LinkedHashMap。下面看运行的代码。packagecom.lxk.collectionTest;impor…

大家好,又见面了,我是你们的朋友全栈君。

一般使用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());
        }
    }

}

然后是运行结果的图。

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139260.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python的三种取整方式_python取整函数-取整函数,PYTHON[通俗易懂]

    python的三种取整方式_python取整函数-取整函数,PYTHON[通俗易懂]本教程分享:《python取整函数》,python有什么办法使得int按照”四舍五入”的方式取…由于小数取整会采用比较暴力的截断方式,即向下取整,所以要想使得int()按照“四舍五入”的方式取整,可以采用如下方法:5.4“四舍五入”结果为:5,int(5.4+0.5)==55.6“四舍五入”结果为:6,int(5.6+0.5)==6python为什么算除法自动取整了。如图…

    2022年10月27日
  • 搜狐视频P2P技术揭秘 – 架构篇[通俗易懂]

    搜狐视频P2P技术揭秘 – 架构篇[通俗易懂]本文介绍了搜狐视频P2P的整体架构,服务组成,业务数据等。

  • vue刷新页面的方法_vue局部刷新页面

    vue刷新页面的方法_vue局部刷新页面业务需求/问题描述在项目中经常遇到一个问题,例如新增完表单数据和需要重新刷新页面。类似的业务还有很多。这时我们可以考虑的方式如下①(推荐)v-if刷新页面,并依赖注入(不太清楚的小伙伴可以看我之前的文章)//父组件<子组件v-if=’load’>exportdefault{ data(){ load=true }, methods:{ refresh(){ this.load=false this.$nextTick(()=>{ t

    2022年10月17日
  • assert函数解析[通俗易懂]

    assert函数解析[通俗易懂]一、assert是宏明确一点:在C中,ASSERT是宏而不是函数。assert()是一个调试程序时经常使用的宏。在程序运行时它计算括号内的表达式。如果表达式为FALSE(0),程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常用来判断程序中是否出现了明显非法的数据,如果出现就终止程序以免导致严重后果,同时反馈错误发生“地点”。

  • Mysql主从复制的搭建及原理

    Mysql主从复制的搭建及原理

  • 一个低级的ORA-01017错误

    一个低级的ORA-01017错误事件缘由:使用sys账户创建了一个数据清理的存储过程,再创建一个Oraclejob定时运行这个存储过程,用于做表数据的清理。第二天看表数据未删除,说明job执行有错,打算使用sys账号登录查看job运行情况,反复输入sys账户信息,总提示ORA-01017,1.尝试改sys用户密码,重试报错依旧。2.使用sys登录GC,报错相同。使用普通用户登录正常。3.数据库服务器上使用sq

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号