# Package org.apache.commons.collections4.collection

package org.apache.commons.collections4.collection
Implementations of the `Collection` interface.

The following implementations are provided in the package:

- CompositeCollection - a collection that combines multiple collections into one

The following decorators are provided in the package:

- Synchronized - synchronizes method access for multithreaded environments
- Unmodifiable - ensures the collection cannot be altered
- Predicated - ensures that only elements that are valid according to a predicate can be added
- Transformed - transforms elements as they are added
- Indexed - provides a map-like view onto another collection

- Related Packages
  Package
  Description
  org.apache.commons.collections4
  Interfaces and utilities shared across all packages.
- Class
  Description
  AbstractCollectionDecorator<E>
  Decorates another `Collection` to provide additional behavior.
  CompositeCollection<E>
  Decorates a collection of other collections to provide a single unified view.
  CompositeCollection.CollectionMutator<E>
  Pluggable strategy to handle changes to the composite.
  IndexedCollection<K,C>
  An IndexedCollection is a Map-like view onto a Collection.
  PredicatedCollection<E>
  Decorates another `Collection` to validate that additions match a specified predicate.
  PredicatedCollection.Builder<E>
  Builder for creating predicated collections.
  SynchronizedCollection<E>
  Decorates another `Collection` to synchronize its behavior for a multithreaded environment.
  TransformedCollection<E>
  Decorates another `Collection` to transform objects that are added.
  UnmodifiableBoundedCollection<E>
  `UnmodifiableBoundedCollection` decorates another `BoundedCollection` to ensure it can't be altered.
  UnmodifiableCollection<E>
  Decorates another `Collection` to ensure it can't be altered.