A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liumeng 中级黑马   /  2012-2-28 08:03  /  2289 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

首先在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方法里是怎么回事

3 个回复

倒序浏览
都开始弄源码啦?真行,先学好怎么熟练应用吧。
这个原理就好像是你在数组的第一个位置加如一个数据,然后后面的数据下标依次加1
回复 使用道具 举报
我明白了 谢了
回复 使用道具 举报
LinkList底层数据结构是链表,个人觉得没有必要深究,先学会用就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马