Outline



Doubly-Linked Lists



    private class DLinkedNode<E> {
      private E item;
      private DLinkedNode<E> prev;
      private DLinkedNode<E> next;
    
      private DLinkedNode(E value) {
        item = value;
        next = null;
        prev = null;
      }
    
      private DLinkedNode(E value, DLinkedNode<E> prev, DLinkedNode<E> next) {
        item = value;
        this.next = next;
        this.prev = prev;
      }
    }



Doubly-Linked List add



Doubly-Linked List remove



Looping over the elements of a collection



Java Iterators



Iterator Example



Iterator Implementation



ListIterator



Java for/foreach