LinkedHashMap浅谈

在大多数情况下,只要不涉及线程安全问题,Map基本上都使用HashMap,不过HashMap有一个问题,就是HashMap内部是无序的,在查找时有时候需要耗费很大的性能
LinkedHashMap继承自HashMap,在HashMap的基础上,通过维护一条双向链表,解决了HashMap不能随时保持遍历顺序和插入顺序一致的问题。在实现上,LinkedHashMap很多方法都直接继承自HashMap,仅为维护双向链表重写了部分方法

LinkedHashMap底层源码分析

LinkedHashMap继承自HashMap,所以它的底层依旧是基于拉链式散列结构。是由数组和链表或红黑树组成的
在这里插入图片描述
LinkedHashMap的主体仍然是Entry数组,不过在HashMap的基础上新增了两个字段,分别是before和after
在这里插入图片描述

1.LikedHashMap的构造函数

LinkedHashMap中的每个构造器第一步都是调用父类构造器,使用supper关键字,而且每个构造器有一个accessOrder变量,默认为false,accessOrder表示之后顺序按照顺序访问元素的访问顺序进行,即不按照之前的插入顺序了,accessOrder为false表示按照插入顺序访问

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值