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这个变量是做什么的?怎么没找到在哪定义的?
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这个变量是做什么的?怎么没找到在哪定义的?
...全文
相关推荐
DuiLie.rar_java 队列
用LinkedList实现一个队列的所有操作: 入队\出队\求队列长度\判断队列是否为空\打印队列等
Map-Cities:设计了一个程序来绘制大福克斯市中的所有美国城市的地图,并找到从任何给定点到所需目的地的最佳路线。 实施BFS和DFS算法,以找到从北达科他州大福克斯到所有主要国家目的地的最佳飞行路线
绘制美国所有城市的距离。 绘制出所有城市,从a点到其他给定点的最短航班。 使用DFS和BFS
InterviewBit:InterviewBit实践问题的解决方案
InterviewBit:InterviewBit实践问题的解决方案
Java中ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String或者Integer。那
对ArrayList和LinkedList底层实现原理详解
今天小编就为大家分享一篇对ArrayList和LinkedList底层实现原理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


Java SE
