LinkedList 类是双向链表,单向队列,双向队列的实现类
LinkedList类实现单向队列和双向队列的接口,自身提高了栈操作的方法,链表的操作方法.
在LinkedList类中存在很多方法,但是功能都是相同的,LinkedList表示了多种数据结构的实现,每一种数据结构的操作名字不同.
要求自己会写一个双向链表
LinkedList类是线程不安全的类,在多线程环境下需要保证线程安全
List list = Collection.synchronizedList(...));
无论是链表还是队列,都特别擅长操作头和尾的节点.
在LinkedList中大多数都是xxFirst/xxlast的.
在LinkedList中存在Object get(int index),表示根据索引位置获取对应的元素,链表没有索引的概念,本不应该有索引,但是从java2开始,存在了集合框架,让LinkedList类作为List接口的实现类,List中提供了该根据索引查询元素的方法,LinkedList内部类提供了一个变量来当做索引.该方法要少用,因为LinkedList不擅长做查询操作,最擅长保存和删除操作.
示例代码:
public class LinkedListDemo {
public static void main(String[] args) {
List list = new LinkedList<>();
list.add("书山有路勤为径");
list.add("学海无涯苦作舟");
System.out.println(list);
list.add("宝剑锋从磨砺出");
list.add("梅花香自苦寒来");
System.out.println(list);
list.remove("梅花香自苦寒来");
System.out.println(list);
}
}