LinkedList——01初探

数据类型比较

public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable
{
    transient int size = 0;
    transient Node<E> first = 0;
    transient Node<E> last = 0;
    private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }

public class ArrayDeque<E> extends AbstractCollection<E>
implements Deque<E>, Cloneable, Serializable{
    transient Object[] elements; // non-private to simplify nested class access
    transient int head;
    transient int tail;
}

特点
  • 并发不安全,可作为链栈 也可作为双向链式队列
与ArrayDeque 异同
  • 相同点
    • 两者都既可以当作堆栈结构,也可以作为队列数据结构
  • 不同点
    • ArrayDeque 是底层数据结构是线性表(Object[]),不允许有存放NULL值
    • LinkedList 底层数据结构是双向链表(Node(Node prev,Node item,Node next)),数据域可以为NULL
原文地址:https://www.cnblogs.com/luckyCoder/p/12733057.html