模拟JDK中LinkedList的实现原理进行实现
package 链表;
public class NewLinkedList<E>{
private int size;
private Entry<E> header=new Entry(null,null,null);
private class Entry<E> {
E e;
Entry<E> after;
Entry<E> before;
Entry(E e,Entry before,Entry after){
this.e=e;
this.after=after;
this.before=before;
}
}
public NewLinkedList(){
header.after=header;
header.before=header;
}
public void add(E e){
Entry<E> node=new Entry<E>(e,header.before,header);
node.before.after=node;
node.after.before=node;
size++;
}
public int length(){
return size;
}
public E getValue(int index){
Entry<E> node=header.after;
for(int i=0;i<index;i++){
node=node.after;
}
return node.e;
}
public static void main(String[] args) {
NewLinkedList<String> list=new NewLinkedList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
System.out.println(list.getValue(10));
}
}