LinkedList的特有功能
- public void addFirst(E e)及addLast(E e)
- public E getFirst()及getLast()
- public E removeFirst()及public E removeLast()
- public E get(int index);
package com.heima.list;
import java.util.LinkedList;
public class Demo03_LinkedList {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.addFirst("a");
list.addFirst("b");
list.addFirst("c");
list.addFirst("d");
list.addLast("e");
//System.out.println(list.getFirst());
//System.out.println(list.getLast());
//System.out.println(list.removeFirst());
//System.out.println(list.removeLast());
System.out.println(list.get(1));
System.out.println(list);
}
}
LinkedList数组get(…)源码分析,为什么是这样的源码呢?
是由于他的链表数据结构来决定的.
Node<E> node(int index) {
// assert isElementIndex(index);
if (index < (size >> 1)) {
Node<E> x = first;
for (int i = 0; i < index; i++)
x = x.next;
return x;
} else {
Node<E> x = last;
for (int i = size - 1; i > index; i--)
x = x.prev;
return x;
}
}