集合
鹿指为码
努力!奋斗!
展开
-
三顾HashMap,一顾结构,二顾变量,三顾构造函数及首次扩容原理
背景摘要:在Map集合中,最常用的集合就是HashMap集合了。相信各位也能脱口而出她的特征,JDK7(以下简称为7)和JDK8(以下简称为8)源码和实现不一样。7底层由数组+单向链表实现。在这之前我们提到过基于数组和链表实现的两个集合。ArrayList与LinkedList。那么在8源码中新增了红黑树这么一个数据结构,由于其特性大大增加了查询效率。同时HashMap也是无序且线程非安全。那么今天基于7的源码来三顾HashMap。一顾结构解析、二顾核心变量、三顾构造函数及首次扩容原理。HashMap原创 2020-06-04 18:06:17 · 576 阅读 · 0 评论 -
二进制运算与Java逻辑&
背景摘要:二进制是计算机专业的入门篇,01010101010101010011001011011010100101010101010101010101010100101101011001010110101011110101010101010101011。好那么关于二进制的我们说了这么多,再说说 逻辑"&",今天主要根据JDK1.7HashMap源码indexFor方法来进行解析。讲其的运算规则详情与其作用。一、二进制运算结构解析大家应该都知道程序有很多进制,好的那我们今天只讲老祖宗二进制原创 2020-05-19 13:34:12 · 365 阅读 · 0 评论 -
恋上链表之深入LinkedList源码分析
背景摘要:在List集合中,我们最熟悉的就是ArrayList与LinkedList。一谈到它们我们第一个反应就是ArrayList查询快,LinkedList增删快,所以在增删操作频繁的场景下适合使用LinkedList,而在其他场景ArrayList就够用了。那么前篇我们提到了ArrayList源码分析,今天再来细聊LinkedList。目录一、恋上链表单向链表双向链表二、LinkedList2.3、LinkedList集合新增快的原因2.4、LinkedList删除背后的历原创 2020-05-14 18:21:11 · 405 阅读 · 0 评论 -
手写ArrayList集合与源码分析
背景:首先集合大家是非常熟悉的,不管是个人日常编码还是公司项目,都是经常打交道的好朋友。但是我们要摸清楚她的底细,毕竟好朋友就是要知根知底~那么来认识认识集合中的List集合,List集合中的ArrayList集合,四舍五入就是集合中的集合。首先,简单陈述ArrayList集合特性,底层使用动态数组实现,随机查询效率非常快(元素下标),但插入和删除需要移动整个数组、效率低,Arr...原创 2020-05-07 18:04:16 · 332 阅读 · 0 评论