LinkedList为什么查询慢_源码查看_的特有功能

public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, Serializable

List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 getremoveinsert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列双端队列

此类实现 Deque 接口,为 addpoll 提供先进先出队列操作,以及其他堆栈和双端队列操作。


 1 package com.jh.list;
 2 
 3 import java.util.LinkedList;
 4 
 5 
 6 public class jh_03_LinkedList为什么查询慢_源码查看_的特有功能 {
 7     /**
 8      * public class LinkedList<E>
 9      * extends AbstractSequentialList<E>implements List<E>,
10      *  Deque<E>, Cloneable, SerializableList 接口的链接列表实现。
11      *  实现所有可选的列表操作,并且允许所有元素(包括 null)。
12      *  除了实现 List 接口外,LinkedList 类还
13      *  为在列表的开头及结尾 get、remove 和 insert 
14      *  元素提供了统一的命名方法。这些操作允许将链接列表
15      *  用作堆栈、队列或双端队列。
16 
17      * @param args
18      */
19     public static void main(String[] args) {
20         LinkedList list = new LinkedList();
21         
22         list.addFirst("a");// 在此列表的开头插入指定的元素。指定:addfirst(.)在deque参数中:e为要添加的元素。
23         list.addFirst("b");
24         list.addFirst("c");
25         list.addFirst("d");
26         
27         list.addLast("ff");// 将指定的元素追加到此列表的末尾。此方法等效于添加。指定:addlast(.)在deque参数中:e为要添加的元素。
28         
29         System.out.println(list.getFirst());// 返回此列表中的第一个元素。由deque返回中的:getfirst()指定:此列表中的第一个元素抛出:nosuchelementexception-如果此列表为空。
30         System.out.println(list.getLast());// 返回此列表中的最后一个元素。deque中指定的:getlast()返回:如果该列表为空,则此列表中的最后一个元素抛出:nosuchementException
31         
32         System.out.println(list.removeFirst());// 从此列表中移除并返回第一个元素。deque中指定的:emovefirst()返回:如果该列表为空,则该列表中的第一个元素抛出:nosuchementException
33         System.out.println(list.removeLast());// 从此列表中移除并返回最后一个元素。deque中由:emovelast()指定的返回:此列表中的最后一个元素抛出:nosuchementException-如果此列表为空
34     
35         System.out.println(list.get(1));// 参数:要返回的元素的索引:此列表中指定位置的元素
36         
37         
38         /*
39          * Node<E> node(int index) {
40         // assert isElementIndex(index);
41 
42         if (index < (size >> 1)) {
43             Node<E> x = first;
44             for (int i = 0; i < index; i++)
45                 x = x.next;
46             return x;
47         } else {
48             Node<E> x = last;
49             for (int i = size - 1; i > index; i--)
50                 x = x.prev;
51             return x;
52         }
53     }
54          */
55         System.out.println(list);
56     }
57 }

构造方法摘要

LinkedList()
          构造一个空列表。
LinkedList(Collection<? extends E> c)
          构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。

 

方法摘要
 boolean add(E e)
          将指定元素添加到此列表的结尾。
 void add(int index, E element)
          在此列表中指定的位置插入指定的元素。
 boolean addAll(Collection<? extends E> c)
          添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。
 boolean addAll(int index, Collection<? extends E> c)
          将指定 collection 中的所有元素从指定位置开始插入此列表。
 void addFirst(E e)
          将指定元素插入此列表的开头。
 void addLast(E e)
          将指定元素添加到此列表的结尾。
 void clear()
          从此列表中移除所有元素。
 Object clone()
          返回此 LinkedList 的浅表副本。
 boolean contains(Object o)
          如果此列表包含指定元素,则返回 true
 Iterator<E> descendingIterator()
          返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。
 E element()
          获取但不移除此列表的头(第一个元素)。
 E get(int index)
          返回此列表中指定位置处的元素。
 E getFirst()
          返回此列表的第一个元素。
 E getLast()
          返回此列表的最后一个元素。
 int indexOf(Object o)
          返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
 int lastIndexOf(Object o)
          返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
 ListIterator<E> listIterator(int index)
          返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。
 boolean offer(E e)
          将指定元素添加到此列表的末尾(最后一个元素)。
 boolean offerFirst(E e)
          在此列表的开头插入指定的元素。
 boolean offerLast(E e)
          在此列表末尾插入指定的元素。
 E peek()
          获取但不移除此列表的头(第一个元素)。
 E peekFirst()
          获取但不移除此列表的第一个元素;如果此列表为空,则返回 null
 E peekLast()
          获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null
 E poll()
          获取并移除此列表的头(第一个元素)
 E pollFirst()
          获取并移除此列表的第一个元素;如果此列表为空,则返回 null
 E pollLast()
          获取并移除此列表的最后一个元素;如果此列表为空,则返回 null
 E pop()
          从此列表所表示的堆栈处弹出一个元素。
 void push(E e)
          将元素推入此列表所表示的堆栈。
 E remove()
          获取并移除此列表的头(第一个元素)。
 E remove(int index)
          移除此列表中指定位置处的元素。
 boolean remove(Object o)
          从此列表中移除首次出现的指定元素(如果存在)。
 E removeFirst()
          移除并返回此列表的第一个元素。
 boolean removeFirstOccurrence(Object o)
          从此列表中移除第一次出现的指定元素(从头部到尾部遍历列表时)。
 E removeLast()
          移除并返回此列表的最后一个元素。
 boolean removeLastOccurrence(Object o)
          从此列表中移除最后一次出现的指定元素(从头部到尾部遍历列表时)。
 E set(int index, E element)
          将此列表中指定位置的元素替换为指定的元素。
 int size()
          返回此列表的元素数。
 Object[] toArray()
          返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组。
<T> T[]
toArray(T[] a)
          返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型为指定数组的类型。
原文地址:https://www.cnblogs.com/haizinihao/p/11644130.html