首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

LinkedList中的有关问题,求解释

2013-01-23 
LinkedList中的问题,求解释我在学习LinkedList的时候,看了一下源码,有几处看的不是很懂,希望大神解释一二:

LinkedList中的问题,求解释
我在学习LinkedList的时候,看了一下源码,有几处看的不是很懂,希望大神解释一二:
1、这代码中根据下标获取节点的这个是怎么判断的?什么逻辑?
/**
     * Returns the indexed entry.
     */
    private Entry<E> entry(int index) {
        if (index < 0 || index >= size)
            throw new IndexOutOfBoundsException("Index: "+index+
                                                ", Size: "+size);
        Entry<E> e = header;
        if (index < (size >> 1)) {
            for (int i = 0; i <= index; i++)
                e = e.next;
        } else {
            for (int i = size; i > index; i--)
                e = e.previous;
        }        return e;
    }

2、modCount这个变量是做什么的?怎么没找到在哪定义的?

为了拿分大致的搜索看了一下(拿分不容易) 
modCount,你发现这个变量在所有有增删操作的地方都是++ 然后赋值给了内部的迭代器,应该是为了防止在使用迭代期的时候linkedlist 又进行了增删的操作 checkForComodification()这个函数就是检测用的。

仓促之中,如有不对,还请指正。

热点排行