JAVA集合学习之LinkedList
LinkedList集合的继承和实现关系
- 因为实现了Deque这个接口所以LinkedList也可以实现队列的效果。
LinkedList类中的属性
属性 | 作用 | 重点 |
---|---|---|
transient int size = 0; | 存储当前链表的节点个数 | 按理说链表是可以无限增加的,但是这个size是int类型的有最大值。也就是说当节点个数大于2147483647时,这个size失效了。 |
transient Node first; | 存储链表的头节点 | 在第一个元素添加进入后,第一个元素就自动成为头节点 |
transient Node last; | 存储链表的尾节点 | 每一次新增节点的前驱节点都这个尾节点 |
Node 节点
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;
}
}
Node这个类就是LinkedList中定义的一个私有的内部类,每一个节点就是一个实例化的Node对象,item 存储每个节点的数据,next 存储该节点的前驱节点,prev 存储该节点的后继节点。
这个Node类是使用static修饰,这样可以不在不实例化外部类的情况下直接实例化这个内部类。