1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| public class _02LinkListDooo<E> extends _00LineListAbstract<E> {
static class Node<E>{ private E e; private Node<E> next; public Node(E e){ this.e = e; } }
Node<E> head = new Node<>(null); private int size;
@Override public int size() { return size; } @Override public void add(E e, int index) { if (index > size) { throw new IllegalArgumentException("非法的插入位置!"); }
Node<E> node = head; Node<E> temp; for (int i = 0; i < index; i++) {
node = node.next;
} temp = node.next; node.next = new Node<>(e); node.next.next = temp; size++; }
@Override public E remove(int index) { if (index > size) { throw new IllegalArgumentException("非法的插入位置!"); } Node<E> node = head,temp; for (int i = 0; i < index; i++) { node = node.next; }
temp = node.next; node.next = node.next.next; size --; return temp.e; }
@Override public E get(int index) { if (index > size) { throw new IllegalArgumentException("非法的插入位置!"); } Node<E> node = head; for (int i = 0; i < index; i++) { node = node.next; } return node.e; } }
|