(Java)一篇文章带你搞定 LinkedHashMap 与 HashMap 的区别

已经学习过:Java 中的 Map 接口
了解了 HashMap 是无序存放,但是有些情况下我们想要有顺序的存储 key-value ,这时就用到了 LinkedHashMap

已经知道了 HashMap 是无序存储:

public class Test {
    
    
    public static void main(String[] args) {
    
    
        Map<String, String> map = new HashMap<String, String>();
        map.put("3", "yolo_3");
        map.put("2", "yolo_2");
        map.put("1", "yolo_1");
        Set<Map.Entry<String, String>> set = map.entrySet();
        Iterator<Map.Entry<String, String>> iterator = set.iterator();
        while (iterator.hasNext()) {
    
    
            Map.Entry<String, String> next = iterator.next();
            System.out.println(next.getKey() + " --> " + next.getValue());
        }
    }
}

也就是结果的输出,并不是按照输入的顺序进行打印:

在这里插入图片描述
这是,我们使用 LinkedHashMap 进行同样的存储操作:

在这里插入图片描述
可以看到这里 LinkedHashMap 的存储顺序默认是插入顺序

其实通过源码也可以发现:LinkedHashMap 继承了 HashMap,所以 HashMap 的方法,LinkedHashMap 也是都适用的。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/108564358