博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Collection源码分析(四):LinkedHashMap源码分析
阅读量:6885 次
发布时间:2019-06-27

本文共 505 字,大约阅读时间需要 1 分钟。

hot3.png

点开LinkedHashMap的源码 可以看到 继承HashMap<K,V> 实现Map接口

152532_cSsL_2970507.png

我们注意到 在源码开头描述中有一段话

152836_VLN5_2970507.png

都实现了Map接口 并且区别在于linkedHashMap是一个双端队列组成

153002_RzWZ_2970507.png

可以看见比HashMap的Entry多了两个参数 before,after

也是使用的Hash'Map的Entry构造器

包括实例化LinkedHashMap的时候调用的也是父类(HashMap)的构造器,put方法,remove方法都是走的HashMap的方法 可以看到 LinkedHashMap的内存结构与HashMap是一样的 唯一区别就是他的链表 

HashMap的Entry链表 只有一个next参数 相当于单向链表

而LinkedHashMap的链表有 after,before两个参数 相当于双向链表

可以看出 在做大量查找操作的时候  LinkedHashMap的效率要比HashMap的高 其他基本无区别

做增加操作基本等量 也就多了两个“指针”赋值 注意此处的指针 并不是真正的指针

转载于:https://my.oschina.net/u/2970507/blog/1800404

你可能感兴趣的文章
水晶报表技术(9)——.NET环境下水晶报表使用总结(上)
查看>>
Oracle数据库中NULL异常使用的教训
查看>>
IBM Rational AppScan Developer Edition(AppScan DE)介绍
查看>>
Ubuntu解决Flash安装问题
查看>>
浅谈架构
查看>>
微软发布Silverlight 4新版并更新Silverlight Tools和SDK
查看>>
部署Windows Server Update Services(WSUS)服务器
查看>>
JDK自带的java.util.Timer定时器的实现原理
查看>>
解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题
查看>>
【电信增值业务学习笔记】2 移动网络基本概念和组网结构
查看>>
WCF分布式开发常见错误(11):There is already a listener on IP endpoint ,IP 终结点 已经存在侦听器...
查看>>
如何卸载Exchange Server 2010
查看>>
【STM32 .Net MF开发板学习-10】SPI测试之触摸屏坐标获取
查看>>
【iOS-Cocos2d游戏开发之十九】游戏数据存储的四种常用方式; 推荐
查看>>
春Phone计划 51cto沙龙郑州站活动
查看>>
Windows Thin PC安装功能组件
查看>>
UML和模式应用(2):迭代、进化和敏捷
查看>>
MDSF:面向语言编程LOP(Language Oriented Programming)方法介绍
查看>>
SCCM2012系列之八,SCCM2012客户机发现
查看>>
[Web开发] 检测IE版本号的方法总结
查看>>