LinkList源码(java8)

1.它不是直接继承AbstractList,而是它的子类AbstractSequentialList,AbstractSequentialList 把父类 AbstractList 中没有实现或者没有支持的操作都实现了,而且都是调用的 ListIterator 相关方法进行操作

2.底层是链表,双向链表,通过内部内,node来实现,而用了两个node,分别来表示头和尾的元素,因为这是链表,是为了方便在头尾的添加和查看

3.这里要注意,重写了writeObject和readObject方法,这是序列化和反序列化用到的,(readResolve)这些方法比如防止序列化时单例对象的被破坏

4.还有个 LLSpliterator 继承自 Spliterator,使用 Iterator 的时候,我们可以顺序地遍历容器中的元素,使用 Spliterator 的时候,我们可以将元素分割成多份,分别交于不于的线程去遍历,以提高效率。

posted @ 2020-06-05 11:06  自我的世界  阅读(120)  评论(0编辑  收藏  举报