11.LinkedList

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);
    }
}

你可能感兴趣的:(11.LinkedList)