LikedList集合
一、LinkedList集合存储元素特点
1)LinkedList集合实现了List接口,存储元素特点是:有序且可重复,并且集合元素都有下标,从0开始以1递增。
2)LinkedList底层是以链表为这种数据结构来存储数据
3)LinkedList集合存储元素优缺点:
优点:由于底层是以链表为数据结构,所以在增删方面速度很快,也很方便
缺点:查询数据速度较慢。
所以在选择ArrayList集合和LinkedList集合时,需要频繁对数据进行增删的话,适合使用LinkedList集合;
在需要对数据进行大量的查询时,选择ArrayList集合。
4)LinkedList没有初始化容量,也没有自动扩容机制。
二、LinkedList集合底层链表实现原理
1、LinkedList源码中的节点代码,以及头节点、尾节点和存储元素变量
1).首先,LinkedList底层是双向链表,双向链表是由一个一个节点单元连接在一起形成的,每一个节点中包含3个组成部分,上一个节点的内存地址、存储的数据、下一个节点的内存地址。如下所示:
Node<>
类是LinkedList中的静态内部类,表示节点对象,其中 item
用于存储数据,next
存储下一个节点的内存地址,prev
存储上一个节点的内存地址。
private static class Node<E> {
//LinkedList静态内部类,链表节点对象类
E item;//每个节点存储的数据,传入LinkedList集合的数据都是存储在每一个节点中的这个位置
Node<E> next;//这是一个节点引用,保存指向下一个节点的内存地址
Node<E> prev;//这也是一个节点引用,保存上一个节点的内存地址
Node(Node