源码
文章平均质量分 80
源码
小鲁蛋儿
莫道桑榆晚,为霞尚满天。
展开
-
LinkedHashSet源码分析
LinkedHashSet的源码只有如下一点,它的功能都是。起到一个支持作用,访问权限为包权限,不对外公开的。内部的这个构造器,该构造函数主要作用是对。,与HashSet不同的是,它构造的是。继承于HashSet。原创 2023-01-30 12:56:17 · 149 阅读 · 0 评论 -
HashSet源码分析
HashSet底层是基于HashMap实现的,HashSet内部通过使用HashMap的键来存储集合中的元素。HashMap不能存储重复的Key,所以HashSet不能存放重复元素。由于HashMap的key是基于hashCode存储对象的,所以hashSet中存放的对象也是无序的。内部的HashMap的所有值都是PRESENT,PRESENT在实例域的地方直接初始化了,而且不允许改变。HashSet没有提供get方法,但是可以通过Iterator迭代器获取数据。转载 2023-01-30 12:25:39 · 389 阅读 · 0 评论 -
HashMap源码分析
只要两个元素的key计算的哈希码值相同就会发生哈希碰撞。jdk8前使用链表解决哈希碰撞。jdk8之后使用链表+红黑树解决哈希碰撞。原创 2022-10-23 12:25:14 · 488 阅读 · 0 评论 -
ArrayList源码分析
观察源码发现,LinkedList寻找指定节点的方式为,靠近末尾结点就从末尾开始找,靠近开头就从开头开始找,这样就可以只遍历一半结点,也就是位置为list的中间时候将会是最费时的。extends E> c):按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。extends E> c) :构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。创建集合的时候指定足够大的容量,这种优化方式只针对特定的场景,如果添加的元素是少量的、未知的,不推荐使用。原创 2022-10-26 11:19:16 · 219 阅读 · 0 评论 -
LinkedList源码分析
总体来看 LinkedList 的源码并不复杂,基本都是双向链表的基本操作,大家感兴趣的可以看一下。LinkedList源码深度解析以及迭代器机制【一万字】_刘Java的博客-CSDN博客_linkedlist迭代器LinkedList 源码解析 - 掘金 (juejin.cn)LinkedList(JDK1.8)源码解析_ThinkWon的博客-CSDN博客。原创 2022-10-30 11:47:24 · 400 阅读 · 0 评论