- 博客(3)
- 资源 (8)
- 收藏
- 关注
原创 全网最易懂的HashMap源码解析之一
前言:HashMap的用法是相当的广泛,之前就是用get和put,根本不了解其原理,现在随着工作的需要是必须要了解其原理的。我这里的源码是基于java8来分析的。java8中的HashMap的结构是有数组、单链表以及红黑树组成的,如果链表的节点个数大于8则分裂为红黑树,如下图: 图片是copy过来的。HashMap的主要属性如下://默认的容量,即默认的数组长度 16sta
2018-01-12 17:38:48 805 1
原创 LinkedHashMap源码解析
前言:之前分析了HashMap的源码,LinkedHashMap 是 HashMap 的子类。LinkedHashMap 自身维护着一个双向的循环链表,这个链表定义了迭代排序,通常是插入顺序。 LinkHashMap 的结构如下,比HashMap多了双链表: 一、LinkedHashMap 和 HashMap的异同LinkedHashMap 和 HashMap 最大的一个不同之处
2018-01-22 10:10:56 423
原创 HashMap源码解析二
上篇文章由于篇幅有限,只讲了put方法以及扩容resize()方法。下面接着讲get以及remove方法。上文的链接:http://blog.csdn.net/zhujiangtaotaise/article/details/79046604我们还是用上次的数据,即有3个数据,3个数据的key分别为 m,n,t,对应的hash值分别为5,6,9。如下图: 一 、get方法 :
2018-01-17 15:26:32 416
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人