Map的有序性_有序的map集合有哪些

Map的有序性_有序的map集合有哪些//使用LinkedHashMap代替无序的HashMap实现publicstaticvoidmain(String[]args){/***Constructsanemptyinsertion-ordered<tt>LinkedHashMap</tt>instance*withthedefaul…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

//使用LinkedHashMap代替无序的HashMap实现

 public static void main(String[] args) {

        /**
     * Constructs an empty insertion-ordered <tt>LinkedHashMap</tt> instance
     * with the default initial capacity (16) and load factor (0.75).
     */
        Map<String,Integer> linkedMap = new LinkedHashMap();
        linkedMap.put("a",14);
        linkedMap.put("c",18);
        linkedMap.put("x",19);

/**
    默认排序,支持comparable排序方式自定义
*/
        Map<String,Integer> treeMap = new TreeMap();
        treeMap.put("a",11);
        treeMap.put("x",10);
        treeMap.put("c",9);
        treeMap.put("b",100);

    /**
     * Constructs an empty <tt>HashMap</tt> with the default initial capacity
     * (16) and the default load factor (0.75).
     */
        Map<String,Integer> hashMap = new HashMap<>();
        hashMap.put("a",11);
        hashMap.put("x",10);
        hashMap.put("e",9);
        hashMap.put("b",100);
        for (Map.Entry<String, Integer> entry : linkedMap.entrySet()){
            System.out.println(entry.getKey()+"===="+entry.getValue());
        }
        System.out.println("========我是分割线=======");
        for (Map.Entry<String, Integer> entry : treeMap.entrySet()){
            System.out.println(entry.getKey()+"===="+entry.getValue());
        }
        System.out.println("========我是分割线=======");
        for (Map.Entry<String, Integer> entry : hashMap.entrySet()){
            System.out.println(entry.getKey()+"===="+entry.getValue());
        }
        //System.out.println(result);
    }

Map的有序性_有序的map集合有哪些

 

HashMap ;无序,高效

TreeMap:能够根据主键自动进行排序

LinkedHashMap:先进先出…即按照add的先后顺序排序.

 

LinkedHashMap是一个链表的数组.基于HashMap的链表方式实现机制.具有高效性,同时在内部增加了一个链表,用以存放元素的顺序.根据元素增加或者访问的先后顺序进行排序.

HashMap的一个功能缺点是他的无序性,被存入到HashMap中的元素,在遍历HashMap时,其输出是无序的.

TreeMap提供了一种完全不同的Map实现.TreeMap有着比HashMap更为强大的功能,实现了SortedMap接口.TreeMap的迭代输出将会以元素顺序进行.TreeMap的排序则根据元素的key进行排序,是基于元素的固有顺序(由Comparator或者Comparable确定)
 

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

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

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


相关推荐

  • Silverlight传值「建议收藏」

    Silverlight传值「建议收藏」Silverlight页面之间传值的。主要是使用独立存储的IsolatedStorageSettings对象,首先需要创建对象privateIsolatedStorageSettingsappSettings=IsolatedStorageSettings.Applic

    2022年10月18日
    6
  • 命令行分析java线程CPU占用

    命令行分析java线程CPU占用

    2022年1月30日
    59
  • 什么是SOAP ,WSDL 和UDDI[通俗易懂]

    什么是SOAP ,WSDL 和UDDI[通俗易懂]什么是WebServices一直没有一个明确的答案,这里给出的看法是:WebServices是一种基于组件的软件平台,是面向服务的Internet应用。WebServices是应用于Internet的,而不是限于局域网或试验环境。这要求提出的WebServices框架必须适用于现有的Internet软件和硬件环境,即服务的提供者所提供的服务必须具有跨平台、跨语言的特性。其次,

    2022年7月24日
    19
  • 初识JMM_一!,识J

    初识JMM_一!,识J1.什么是JMM?JMM:(JavaMemoryModel的缩写)作用:缓存一致性协议,用于定义数据读写的规则。JMM定义了线程工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(MainMemory)中,每个线程都有一个私有的本地内存(LocalMemory)所有的变量都存储在主内存中,每个线程还有自己的工作内存,工作内存存储在高速缓存或者寄存器中,保存了该线程使用的变量的主内存副本拷贝。线程只能直接操作工作内存中的变量,不同线程之间的变量值传递需要通过主内存来完成。

    2025年9月13日
    11
  • 币圈新手入门教程 怎么样投资数字货币[通俗易懂]

    币圈新手入门教程 怎么样投资数字货币[通俗易懂]普通人怎么投资数字货币?最近和几位朋友聊到数字货币,发现很多人虽然都想入场交易,但实际上还不是很了解这个东西,这对于新手来说,是非常危险的!笔者尽管现在主要做的是外汇,但是曾经也炒币有一段时间,今天就以自己的经验,给各位币圈新手做个入门普及。数字货币说到数字货币,先要了解区块链,数字货币实际上是区块链的一个产物,数字货币都是由区块链技术产生的,而区块链技术近几年的快速发展,也推动了数字货币…

    2022年8月29日
    5
  • List转JSONArray和JSONArray转List转

    List转JSONArray和JSONArray转List转@List转JSONArray和JSONArray转List1.List转JSONArrayListlist=newArrayList();JSONArrayarray=JSONArray.parseArray(JSON.toJSONString(list));2.JSONArray转ListJSONArrayarray=newJSONArray();Listli…

    2022年6月16日
    32

发表回复

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

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