您的位置:首页 > 其它

LinkedList类

2016-06-12 10:27 260 查看
LinkedList采用双向链表方式实现列表集合。LinkedList的链表有个头节点header,header不存储数据,起到标记作用,又成为哑节点。每个节点都有两个引用:previous和next,previous指向前一个节点,next指向后一个节点。

链表的首位是相连的,成了一个环状结构,使用next可以从头到尾遍历链表(正向环),使用previous可以从尾部向头部遍历链表(反向环)。



通过LinkedList的无参构造方法可以看出环:

/**
* Constructs an empty list.
*/
public LinkedList() {
header.next = header.previous = header;
}


LinkedList的节点类是一个内部类Entry,存储数据对象和前、后引用,源码如下:

private static class Entry<E> {
E element;
Entry<E> next;
Entry<E> previous;

Entry(E element, Entry<E> next, Entry<E> previous) {
this.element = element;
this.next = next;
this.previous = previous;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: