# Package org.apache.commons.collections

This package contains the interfaces and utilities shared across all the subpackages of this component.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Bag | Defines a collection that counts the number of times an object appears in the collection.
  BidiMap | Defines a map that allows bidirectional lookup between key and values.
  BoundedCollection | Defines a collection that is bounded in size.
  BoundedMap | Defines a map that is bounded in size.
  Buffer | Defines a collection that allows objects to be removed in some well-defined order.
  Closure | Defines a functor interface implemented by classes that do something.
  Factory | Defines a functor interface implemented by classes that create objects.
  IterableMap | Defines a map that can be iterated directly without needing to create an entry set.
  KeyValue | Defines a simple key value pair.
  MapIterator | Defines an iterator that operates over a `Map`.
  MultiMap | Defines a map that holds a collection of values against each key.
  OrderedBidiMap | Defines a map that allows bidirectional lookup between key and values and retains and provides access to an ordering.
  OrderedIterator | Defines an iterator that operates over an ordered collection.
  OrderedMap | Defines a map that maintains order and allows both forward and backward iteration through that order.
  OrderedMapIterator | Defines an iterator that operates over an ordered `Map`.
  Predicate | Defines a functor interface implemented by classes that perform a predicate test on an object.
  PriorityQueue | Deprecated Replaced by the Buffer interface and implementations in buffer subpackage.
  ResettableIterator | Defines an iterator that can be reset back to an initial state.
  ResettableListIterator | Defines a list iterator that can be reset back to an initial state.
  SortedBag | Defines a type of `Bag` that maintains a sorted order among its unique representative members.
  SortedBidiMap | Defines a map that allows bidirectional lookup between key and values and retains both keys and values in sorted order.
  Transformer | Defines a functor interface implemented by classes that transform one object into another.
  Unmodifiable | Marker interface for collections, maps and iterators that are unmodifiable.

- Class Summary
  Class | Description
  --- | ---
  ArrayStack | An implementation of the `Stack` API that is based on an `ArrayList` instead of a `Vector`, so it is not synchronized to protect against multi-threaded access.
  BagUtils | Provides utility methods and decorators for `Bag` and `SortedBag` instances.
  BeanMap | Deprecated Identical class now available in commons-beanutils (full jar version).
  BeanMap.MyMapEntry | Map entry used by `BeanMap`.
  BinaryHeap | Deprecated Replaced by PriorityBuffer in buffer subpackage.
  BoundedFifoBuffer | Deprecated Moved to buffer subpackage.
  BufferUtils | Provides utility methods and decorators for `Buffer` instances.
  ClosureUtils | `ClosureUtils` provides reference implementations and utilities for the Closure functor interface.
  CollectionUtils | Provides utility methods and decorators for `Collection` instances.
  ComparatorUtils | Provides convenient static utility methods for `Comparator` objects.
  CursorableLinkedList | Deprecated Use new version in list subpackage, which has been rewritten and now returns the cursor from the listIterator method.
  DefaultMapBag | Deprecated Moved to bag subpackage as AbstractMapBag.
  DefaultMapEntry | Deprecated Use the version in the keyvalue subpackage.
  DoubleOrderedMap | Deprecated Replaced by TreeBidiMap in bidimap subpackage.
  EnumerationUtils | Provides utility methods for `Enumeration` instances.
  ExtendedProperties | This class extends normal Java properties by adding the possibility to use the same key many times concatenating the value strings instead of overwriting them.
  FactoryUtils | `FactoryUtils` provides reference implementations and utilities for the Factory functor interface.
  FastArrayList | A customized implementation of `java.util.ArrayList` designed to operate in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes.
  FastHashMap | A customized implementation of `java.util.HashMap` designed to operate in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes.
  FastTreeMap | A customized implementation of `java.util.TreeMap` designed to operate in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes.
  HashBag | Deprecated Moved to bag subpackage and rewritten internally.
  IteratorUtils | Provides static utility methods and decorators for `Iterator` instances.
  ListUtils | Provides utility methods and decorators for `List` instances.
  LRUMap | Deprecated Moved to map subpackage.
  MapUtils | Provides utility methods and decorators for `Map` and `SortedMap` instances.
  MultiHashMap | Deprecated Class now available as MultiValueMap in map subpackage.
  PredicateUtils | `PredicateUtils` provides reference implementations and utilities for the Predicate functor interface.
  ProxyMap | Deprecated Moved to map subpackage as AbstractMapDecorator.
  ReferenceMap | Deprecated Moved to map subpackage.
  SequencedHashMap | Deprecated Replaced by LinkedMap and ListOrderedMap in map subpackage.
  SetUtils | Provides utility methods and decorators for `Set` and `SortedSet` instances.
  StaticBucketMap | Deprecated Moved to map subpackage.
  SynchronizedPriorityQueue | Deprecated PriorityQueue is replaced by the Buffer interface, see buffer subpackage.
  TransformerUtils | `TransformerUtils` provides reference implementations and utilities for the Transformer functor interface.
  TreeBag | Deprecated Moved to bag subpackage and rewritten internally.
  UnboundedFifoBuffer | Deprecated Moved to buffer subpackage.

- Exception Summary
  Exception | Description
  --- | ---
  BufferOverflowException | The BufferOverflowException is used when the buffer's capacity has been exceeded.
  BufferUnderflowException | The BufferUnderflowException is used when the buffer is already empty.
  FunctorException | Runtime exception thrown from functors.

## Package org.apache.commons.collections Description

This package contains the interfaces and utilities shared across all the subpackages of this component.

The following collection implementations are provided in the package:

- ArrayStack - a non synchronized Stack that follows the same API as java util Stack
- ExtendedProperties - extends the Properties class to add extra functionality

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.