gnu.trove

## Class TLinkedList.IteratorImpl

- java.lang.Object
- - gnu.trove.TLinkedList.IteratorImpl

All Implemented Interfaces:
  java.util.Iterator<T>, java.util.ListIterator<T>

Enclosing class:
  TLinkedList<T extends TLinkable>

    protected final class TLinkedList.IteratorImpl
    extends java.lang.Object
    implements java.util.ListIterator<T>

A ListIterator that supports additions and deletions.

### Method Summary

Methods
`void` `add(T linkable)` Insert `linkable` at the current position of the iterator.
`boolean` `hasNext()` True if a call to next() will return an object.
`boolean` `hasPrevious()` True if a call to previous() will return a value.
`T` `next()` Returns the value at the Iterator's index and advances the iterator.
`int` `nextIndex()` returns the index of the next node in the list (the one that would be returned by a call to next()).
`T` `previous()` Returns the value before the Iterator's index and moves the iterator back one index.
`int` `previousIndex()` Returns the previous element's index.
`void` `remove()` Removes the current element in the list and shrinks its size accordingly.
`void` `set(T linkable)` Replaces the current element in the list with `linkable`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### add

    public final void add(T linkable)

Insert `linkable` at the current position of the iterator. Calling next() after add() will return the added object.

Specified by:
  `add` in interface `java.util.ListIterator<T extends TLinkable>`
Parameters:
  `linkable` - an object of type TLinkable

#### hasNext

    public final boolean hasNext()

True if a call to next() will return an object.

Specified by:
  `hasNext` in interface `java.util.Iterator<T extends TLinkable>`
Specified by:
  `hasNext` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  a `boolean` value

#### hasPrevious

    public final boolean hasPrevious()

True if a call to previous() will return a value.

Specified by:
  `hasPrevious` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  a `boolean` value

#### next

    public final T next()

Returns the value at the Iterator's index and advances the iterator.

Specified by:
  `next` in interface `java.util.Iterator<T extends TLinkable>`
Specified by:
  `next` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  an `Object` value
Throws:
  `java.util.NoSuchElementException` - if there is no next element

#### nextIndex

    public final int nextIndex()

returns the index of the next node in the list (the one that would be returned by a call to next()).

Specified by:
  `nextIndex` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  an `int` value

#### previous

    public final T previous()

Returns the value before the Iterator's index and moves the iterator back one index.

Specified by:
  `previous` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  an `Object` value
Throws:
  `java.util.NoSuchElementException` - if there is no previous element.

#### previousIndex

    public final int previousIndex()

Returns the previous element's index.

Specified by:
  `previousIndex` in interface `java.util.ListIterator<T extends TLinkable>`
Returns:
  an `int` value

#### remove

    public final void remove()

Removes the current element in the list and shrinks its size accordingly.

Specified by:
  `remove` in interface `java.util.Iterator<T extends TLinkable>`
Specified by:
  `remove` in interface `java.util.ListIterator<T extends TLinkable>`
Throws:
  `java.lang.IllegalStateException` - neither next nor previous have been invoked, or remove or add have been invoked after the last invocation of next or previous.

#### set

    public final void set(T linkable)

Replaces the current element in the list with `linkable`

Specified by:
  `set` in interface `java.util.ListIterator<T extends TLinkable>`
Parameters:
  `linkable` - an object of type TLinkable