# Class AbstractMapMultiSet.UniqueSetIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.AbstractUntypedIteratorDecorator<E,E>
org.apache.commons.collections4.iterators.AbstractIteratorDecorator<E>
org.apache.commons.collections4.multiset.AbstractMapMultiSet.UniqueSetIterator<E>

Type Parameters:
  `E` - the element type.

All Implemented Interfaces:
  `Iterator<E>`

Enclosing class:
  `AbstractMapMultiSet<E>`

protected static class AbstractMapMultiSet.UniqueSetIterator<E> extends AbstractIteratorDecorator<E>
Inner class UniqueSetIterator.

Since:
  4.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean`
  `canRemove`
  Whether remove is allowed at present
  `protected E`
  `lastElement`
  The last returned element
  `protected final AbstractMapMultiSet<E>`
  `parent`
  The parent multiset

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `UniqueSetIterator(Iterator<E> iterator, AbstractMapMultiSet<E> parent)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `E`
  `next()`
  `void`
  `remove()`

  ### Methods inherited from class org.apache.commons.collections4.iterators.AbstractUntypedIteratorDecorator

  `getIterator, hasNext`

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

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

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining`

- ## Field Details

  - ### parent

    protected final AbstractMapMultiSet<E> parent
    The parent multiset

  - ### lastElement

    protected E lastElement
    The last returned element

  - ### canRemove

    protected boolean canRemove
    Whether remove is allowed at present

- ## Constructor Details

  - ### UniqueSetIterator

    protected UniqueSetIterator(Iterator<E> iterator, AbstractMapMultiSet<E> parent)
    Constructs a new instance.
    Parameters:
      `iterator` - the iterator to decorate
      `parent` - the parent multiset

- ## Method Details

  - ### next

    public E next()
    Description copied from class: `AbstractIteratorDecorator`
    Specified by:
      `next` in interface `Iterator<E>`
    Overrides:
      `next` in class `AbstractIteratorDecorator<E>`

  - ### remove

    public void remove()
    Specified by:
      `remove` in interface `Iterator<E>`
    Overrides:
      `remove` in class `AbstractUntypedIteratorDecorator<E,E>`