Java集合之LinkedHashMap总结

一、LinkedHashMap 概述


        摘自JDKAPI-1.6版本部分解释:LinkedHashMap 是哈希表和链接列表实现,HashMap 也是哈希表和链接列表实现的,与HashMap 的不同之处在于 LinkedHashMap 中的链接列表是双向链表。LinkedHashMap 是有序的,该迭代顺序是将键插入到映射中的顺序(插入顺序)。LinkedHashMap 提供特殊的构造方法来创建哈希映射,该映射的迭代顺序就是最后访问其元素的顺序,从近期访问最少到近期访问最多的顺序(访问顺序),这种适合映射关系适合构建 LRU 缓存。为初始容量选择非常高的值对此类的影响比对 HashMap 要小,因为此类的迭代时间不受容量的影响。允许 null 元素,是不同步的。


二、总结 LinkedHashMap 的关键点


        1、LinkedHashMap 的迭代时间不受容量影响,HashMap 受容量影响。

        2、LinkedHashMap 允许 null 键、null 值,线程不同步。

        3、LinkedHashMap 是基于 HashMap 实现的,与之不同之处在于前者是双向链表,后者是单向链表,同时 LinkedHashMap 提供特殊的构造方法,适合构建 LRU 缓存。

        4、LinkedHashMap 是有序的,按照策略区分为插入顺序和访问顺序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值