如下一段代码,在JDK1.6的LinkedList中,是下图这样存储的。有一个节点值为null的节点,叫做header,header的next是0,3的next是header,这是一个循环链表
LinkedList<Integer> list = new LinkedList<Integer>(Arrays.asList(0, 1, 2, 3));
如果要从中取元素,LinkedList会判断这个元素的下标,是否小于size>>1,是则从0开始找,否则从3开始找
header元素存在意义我理解主要是新插入元素的时候方便,否则要从第一个遍历到最后一个