Java之LinkedList源码分析(第五篇:结点类)
程序员文章站
2022-04-03 19:34:59
...
private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
}
LinkedList的结点类,定义在LinkedList类的内部,它是一个静态内部类,也是一个范型类,LinkedList对象就是通过持有Node对象组成的双向链表来保存我们要添加的元素对象
0、Node对象持有的三个实例变量
E item;
Node<E> next;
Node<E> prev;
item是Node对象持有的元素对象,它的类型取决于参数类型E,我们添加的元素,就会某一个Node对象持有的item负责保存
next是Node对象持有的指向下一个Node对象的实例变量
prev是Node对象持有的指向上一个Node对象的实例变量
通过prev、next就可以创造一个通过引用而实现的双向链表
1、这是Node的构造方法
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
通过创建Node时,传入的参数,完成双向链表的指向
传入的局部变量prev会成为当前Node对象持有的prev指向的上一个结点对象
传入的局部变量next会成为当前Node对象持有的next指向的下一个结点对象
而元素对象element则直接交给Node对象持有的item负责保存
推荐阅读
-
Java之LinkedList源码分析(第三篇:添加元素-List接口)
-
Java基础之Collections框架Map接口实现类HashMap及其源码分析(1)
-
Java容器类源码分析之Iterator与ListIterator迭代器(基于JDK8)
-
Java集合系列之LinkedList源码分析
-
Java集合源码分析之 LinkedList
-
Java之LinkedList源码分析(第三篇:添加元素-List接口)
-
Java集合类源码之Set的具体分析
-
Java基础之Collections框架Map接口实现类HashMap及其源码分析(1)
-
Java集合类源码之Set的具体分析
-
Java容器类源码分析之Iterator与ListIterator迭代器(基于JDK8)