# Class AbstractLinkedMap.LinkIterator<K,V>

java.lang.Object
org.apache.commons.collections4.map.AbstractLinkedMap.LinkIterator<K,V>

Type Parameters:
  `K` - the key type.
  `V` - the value type.

Direct Known Subclasses:
  `AbstractLinkedMap.EntrySetIterator`, `AbstractLinkedMap.KeySetIterator`, `AbstractLinkedMap.LinkMapIterator`, `AbstractLinkedMap.ValuesIterator`

Enclosing class:
  `AbstractLinkedMap<K,V>`

protected abstract static class AbstractLinkedMap.LinkIterator<K,V> extends Object
Base Iterator that iterates in link order.

Since:
  3.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `expectedModCount`
  The modification count expected
  `protected AbstractLinkedMap.LinkEntry<K,V>`
  `last`
  The current (last returned) entry
  `protected AbstractLinkedMap.LinkEntry<K,V>`
  `next`
  The next entry
  `protected final AbstractLinkedMap<K,V>`
  `parent`
  The parent map

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `LinkIterator(AbstractLinkedMap<K,V> parent)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected AbstractLinkedMap.LinkEntry<K,V>`
  `currentEntry()`
  Gets the current entry.
  `boolean`
  `hasNext()`
  Tests whether there is another entry.
  `boolean`
  `hasPrevious()`
  Tests whether there is a previous entry.
  `protected AbstractLinkedMap.LinkEntry<K,V>`
  `nextEntry()`
  Gets the next entry.
  `protected AbstractLinkedMap.LinkEntry<K,V>`
  `previousEntry()`
  Gets the previous entry.
  `void`
  `remove()`
  Removes the current entry.
  `void`
  `reset()`
  Resets the state to the end.
  `String`
  `toString()`

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

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

- ## Field Details

  - ### parent

    protected final AbstractLinkedMap<K,V> parent
    The parent map

  - ### last

    protected AbstractLinkedMap.LinkEntry<K,V> last
    The current (last returned) entry

  - ### next

    protected AbstractLinkedMap.LinkEntry<K,V> next
    The next entry

  - ### expectedModCount

    protected int expectedModCount
    The modification count expected

- ## Constructor Details

  - ### LinkIterator

    protected LinkIterator(AbstractLinkedMap<K,V> parent)
    Constructs a new instance.
    Parameters:
      `parent` - The parent AbstractLinkedMap.

- ## Method Details

  - ### currentEntry

    protected AbstractLinkedMap.LinkEntry<K,V> currentEntry()
    Gets the current entry.
    Returns:
      the current entry.

  - ### hasNext

    public boolean hasNext()
    Tests whether there is another entry.
    Returns:
      whether there is another entry.

  - ### hasPrevious

    public boolean hasPrevious()
    Tests whether there is a previous entry.
    Returns:
      whether there is a previous entry.

  - ### nextEntry

    protected AbstractLinkedMap.LinkEntry<K,V> nextEntry()
    Gets the next entry.
    Returns:
      the next entry.

  - ### previousEntry

    protected AbstractLinkedMap.LinkEntry<K,V> previousEntry()
    Gets the previous entry.
    Returns:
      the previous entry.

  - ### remove

    public void remove()
    Removes the current entry.

  - ### reset

    public void reset()
    Resets the state to the end.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`