LinkedList


数据结构:

链表

        public LinkedList() {
        this.header = new Entry(null, null, null);
        this.size = 0;

        this.header.next = (this.header.previous = this.header);
    }    

private static class Entry {
E element;
Entry next;
Entry previous;
//元素,上一个,下一个
Entry(E paramE, Entry paramEntry1, Entry paramEntry2) {
this.element = paramE;
this.next = paramEntry1;
this.previous = paramEntry2;
}
}

增删改查:

初始化,上一个和下一个都是他本身。

增加:

public boolean add(E paramE) {
addBefore(paramE, this.header);
return true;
}

private Entry addBefore(E paramE, Entry paramEntry) {
Entry localEntry = new Entry(paramE, paramEntry, paramEntry.previous);
localEntry.previous.next = localEntry;
localEntry.next.previous = localEntry;
this.size += 1;
this.modCount += 1;
return localEntry;
}