黑马程序员技术交流社区

标题: 深入LinkedList源码 谁知道原理 [打印本页]

作者: liumeng    时间: 2012-2-28 08:03
标题: 深入LinkedList源码 谁知道原理
首先在new Linked()时候源码如下:
private transient Entry<E> header = new Entry<E>(null, null, null);
    private transient int size = 0;
    public LinkedList() {
        header.next = header.previous = header;
    }
而在添加的时候add方法如下:
private Entry<E> addBefore(E e, Entry<E> entry) {
        Entry<E> newEntry = new Entry<E>(e, entry, entry.previous);
        newEntry.previous.next = newEntry;
        newEntry.next.previous = newEntry;
        size++;
        modCount++;
        return newEntry;
    }
public boolean add(E e) {
        addBefore(e, header);
        return true;
    }
主要是addBefore方法里是怎么回事
作者: 杨盼    时间: 2012-2-28 08:13
都开始弄源码啦?真行,先学好怎么熟练应用吧。
这个原理就好像是你在数组的第一个位置加如一个数据,然后后面的数据下标依次加1
作者: liumeng    时间: 2012-2-28 08:32
我明白了 谢了

作者: 冯兵兵    时间: 2012-2-28 09:27
LinkList底层数据结构是链表,个人觉得没有必要深究,先学会用就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2