net.i2p.router.util

## Class RemovableSingletonSet<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractSet<E>
    - - net.i2p.router.util.RemovableSingletonSet<E>

- Type Parameters:
    `E` - type of element in this set
  All Implemented Interfaces:
    Iterable<E>, Collection<E>, Set<E>

      public class RemovableSingletonSet<E>
      extends AbstractSet<E>

  Singleton set with removable element support and iterator functionality.

  Similar to Collections.singleton() but provides the ability to remove the single element and clear the set. Iterator supports remove() operations while maintaining singleton behavior.

  Thread-safe implementation without synchronization overhead. Does not support add() or addAll() operations as they would violate the singleton contract. Item may not be null.

  Useful for scenarios requiring a single, modifiable element with standard collection interface compliance and removal capabilities.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RemovableSingletonSet(E element)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()`
    `boolean` | `contains(Object o)`
    `boolean` | `isEmpty()`
    `Iterator<E>` | `iterator()`
    `boolean` | `remove(Object o)`
    `int` | `size()`

    - ### Methods inherited from class java.util.AbstractSet

      `equals, hashCode, removeAll`

    - ### Methods inherited from class java.util.AbstractCollection

      `add, addAll, containsAll, retainAll, toArray, toArray, toString`

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

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

    - ### Methods inherited from interface java.util.Set

      `add, addAll, containsAll, retainAll, spliterator, toArray, toArray`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, removeIf, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

- - ### Constructor Detail

    - #### RemovableSingletonSet

          public RemovableSingletonSet(E element)

  - ### Method Detail

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Collection<E>`
      Specified by:
        `clear` in interface `Set<E>`
      Overrides:
        `clear` in class `AbstractCollection<E>`

    - #### contains

          public boolean contains(Object o)

      Specified by:
        `contains` in interface `Collection<E>`
      Specified by:
        `contains` in interface `Set<E>`
      Overrides:
        `contains` in class `AbstractCollection<E>`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `Collection<E>`
      Specified by:
        `isEmpty` in interface `Set<E>`
      Overrides:
        `isEmpty` in class `AbstractCollection<E>`

    - #### iterator

          public Iterator<E> iterator()

      Specified by:
        `iterator` in interface `Iterable<E>`
      Specified by:
        `iterator` in interface `Collection<E>`
      Specified by:
        `iterator` in interface `Set<E>`
      Specified by:
        `iterator` in class `AbstractCollection<E>`

    - #### remove

          public boolean remove(Object o)

      Specified by:
        `remove` in interface `Collection<E>`
      Specified by:
        `remove` in interface `Set<E>`
      Overrides:
        `remove` in class `AbstractCollection<E>`

    - #### size

          public int size()

      Specified by:
        `size` in interface `Collection<E>`
      Specified by:
        `size` in interface `Set<E>`
      Specified by:
        `size` in class `AbstractCollection<E>`