![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDK源码
文章平均质量分 52
哀卡列斯
这个作者很懒,什么都没留下…
展开
-
JDK集合分析(二):LinkedList
单列集合之LinkedList LinkedList底层实现了双向链表和双端队列,维护了两个属性first和last,分别指向首节点和尾结点。 每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过prev指向前一个,通过next指向后一个节点,最终实现双向链表。 因此LinkedList的元素的添加和删除不是通过数组完成相对效率较高。可以添加任意元素(可重复),包括null且线程不安全。 private static class Node<E> ..原创 2021-05-28 13:59:55 · 81 阅读 · 0 评论 -
JDK集合分析(一):ArrayList
集合 集合主要分为两组(单列集合和双列集合),collection接口有两个子接口,实现的子类均为单列集合。 Map接口的实现的子类均为双列集合 单列集合之ArrayList ArrayList底层是由数组实现的,允许加入null(多个也允许),线程不安全,下图以ArrayList的add方法为例,可见并没有做线程同步。 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments m原创 2021-05-23 23:54:43 · 222 阅读 · 0 评论