# Package org.apache.commons.collections4.set

package org.apache.commons.collections4.set
Implements the `Set`, `SortedSet` and `NavigableSet` interfaces.

The implementations are in the form of direct implementations and decorators. A decorator wraps another implementation of the interface to add some specific additional functionality.

The following implementations are provided in the package:

- CompositeSet - a set that combines multiple sets into one

The following decorators are provided in the package:

- Unmodifiable - ensures the collection cannot be altered
- Predicated - ensures that only elements that are valid according to a predicate can be added
- Transformed - transforms each element added
- ListOrdered - ensures that insertion order is retained
- MapBackedSet - a set formed by decorating a Map

- Related Packages
  Package
  Description
  org.apache.commons.collections4
  Interfaces and utilities shared across all packages.
- Class
  Description
  AbstractNavigableSetDecorator<E>
  Decorates another `NavigableSet` to provide additional behavior.
  AbstractSerializableSetDecorator<E>
  Serializable subclass of AbstractSetDecorator.
  AbstractSetDecorator<E>
  Decorates another `Set` to provide additional behavior.
  AbstractSortedSetDecorator<E>
  Decorates another `SortedSet` to provide additional behavior.
  CompositeSet<E>
  Decorates a set of other sets to provide a single unified view.
  CompositeSet.SetMutator<E>
  Defines callbacks for mutation operations.
  ListOrderedSet<E>
  Decorates another `Set` to ensure that the order of addition is retained and used by the iterator.
  MapBackedSet<E,V>
  Decorates a `Map` to obtain `Set` behavior.
  PredicatedNavigableSet<E>
  Decorates another `NavigableSet` to validate that all additions match a specified predicate.
  PredicatedSet<E>
  Decorates another `Set` to validate that all additions match a specified predicate.
  PredicatedSortedSet<E>
  Decorates another `SortedSet` to validate that all additions match a specified predicate.
  TransformedNavigableSet<E>
  Decorates another `NavigableSet` to transform objects that are added.
  TransformedSet<E>
  Decorates another `Set` to transform objects that are added.
  TransformedSortedSet<E>
  Decorates another `SortedSet` to transform objects that are added.
  UnmodifiableNavigableSet<E>
  Decorates another `NavigableSet` to ensure it can't be altered.
  UnmodifiableSet<E>
  Decorates another `Set` to ensure it can't be altered.
  UnmodifiableSortedSet<E>
  Decorates another `SortedSet` to ensure it can't be altered.