一、介绍:
- LinkedList底层用双向链表实现
- 特点:查询效率低,增删效率高,线程不安全
1、 LinkedList的存储结构图
2、 双链表的结点结构
class Node<E>{
Node<E> previous; //指向前一个结点
E data; //结点内保存的数据
Node<E> nest; //指向后一个结点
}
3、如何选用ArrayList、LinkedList、Vector?
(1)需要线程安全时,用Vector;
(2)不存在线程安全问题时,并且查找较多时用ArrayList(一般使用较多);
(3)不存在线程安全问题时,增加或删除较多用LinkedList。
二、使用:
1、在List标准下的使用
LinkedList实现了List接口,所以LinkedList是具备List的存储特征的(有序、元素可重复)
public class LinkedListTest {
public static void main(String[] args) {
//实例化 LinkedList容器
List<String> list = new LinkedList<>();
//添加元素
boolean a = list.add("a"