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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据分析师面试准备

    数据分析师面试准备数据分析师面试准备惊醒。突然发现再要一个月就要过年了,过了年再过个两周就三月了。三月……又到了招聘季。

    2022年6月3日
    33
  • poetry和poet_poetry定义

    poetry和poet_poetry定义Poetry的基本使用准备工作如果你是在一个已有的项目里使用Poetry,你只需要执行poetryinit命令来创建一个pyproject.toml文件:poetryinit可看到

    2022年7月30日
    4
  • 初识SQL Server2017 图数据库(一)

    初识SQL Server2017 图数据库(一)

    2021年11月24日
    40
  • Mac基础操作教程:Mac电脑如何在录屏时录入声音?「建议收藏」

    Mac基础操作教程:Mac电脑如何在录屏时录入声音?「建议收藏」我们经常因为工作需要而对Mac电脑进行录屏操作,但有些新手用户录屏后发现,屏幕里没有声音,这是因为你没有打开麦克风,下面分享Mac电脑在录屏时录入声音教程。1、点击“启动台”,2、打开启动台里“其他”文件夹中的“截屏”,3、在屏幕下方,点击录制屏幕的图标;4、然后点击“选项”,在下拉菜单中选择“麦克风”;5、最后,点击“录制”按钮即可完成。以上就是小编给您带来的Mac基础操作教程:Mac电脑如何在录屏时录入声音,还有哪些关于Mac电脑的操作问题,欢迎来交流。Mac软件资源下载站http

    2022年4月30日
    86
  • 模拟退火 python_粒子群算法怎么设置约束条件

    模拟退火 python_粒子群算法怎么设置约束条件1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linearprogramming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用Lingo软件求解,Matlab、Python中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.

    2022年10月13日
    2
  • 16G kingston U盘 解除写保护[通俗易懂]

    16G kingston U盘 解除写保护[通俗易懂]前些天买的16Gkingstonu盘忽然有了写保护,但是拆开u盘又没有看到有写保护开关。纠结加郁闷。然后一天后又忽然发生了电脑无法识别U盘,连盘符也读不出来了。里面好多资料全无,彻底让我伤心了,

    2022年9月10日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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