HashMap, LinkedMap, TreeMap -- Java

总结:TreeMap有顺序,HashMap无顺序,LinkedHashMap的顺序与插入顺序相同

HashMap

Map<String, String> map = new HashMap<>();

        int value = map.get(key);
        int value = map.getOrDefault(key, default);
        map.put(key, value);
        map.size();
        map.containsKey(key);
        map.containsValue(value);
        // travarse
        for(Map.Entry<keytype, valuetype> entry: map.entrySet() {
            entry.getKey();
            entry.getValue();
        }
        // get key set
        map.keySet();
        // get value set
        map.values();
        
        map.remove(key);
        map.remove(key, value);
        map.putAll(anotherMap);

LinkedMap

元素的排列顺序与插入顺序相同

Map<String, String> map = new LinkedHashMap<>();
        map.put("a","b");
        map.put("c","d");
        map.put("e","f");
        for (Map.Entry<String, String> entry: map.entrySet()) {
            System.out.println(entry.getKey());
        }
        // a, c, e

TreeMap

map中的elememts是按照一定顺序排列的,可以通过自定义comparator来确定排列顺序。

Map<String, String> map = new TreeMap<>();
        // initialize a TreeMap with comparator

        Map<int[], Integer> map = new TreeMap<>(new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                if (o1[1] < o2[1]) {
                    return -1;
                }
                return 1;
            }
        });
        int[] a1 = {1,2};
        int[] a2 = {1,6};
        int[] a3 = {1,3};
        map.put(a1,1);
        map.put(a2,2);
        map.put(a3,3);
        Set<int[]> set = map.keySet(); // [1,2], [1,3], [1,6]
        System.out.println(((TreeMap<int[], Integer>) map).firstKey());
        //  can traver TreeMap the same with HashMap
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,422评论 0 16
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 2,077评论 0 13
  • 原文地址 Java集合 Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。 Ja...
    gyl_coder阅读 1,032评论 0 8
  • 在编程中,常常需要集中存放多个数据。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于...
    一一一二二三阅读 482评论 0 1
  • Java集合详解 [if !supportLists]一、[endif]集合的由来 通常,我们的程序需要根据程序运...
    秋刀鱼茶泡饭QAQ阅读 497评论 1 2

友情链接更多精彩内容