## Package org.apache.commons.collections

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

See:
Description

Interface Summary
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 a ordered collections.
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
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: An implementation of Map for JavaBeans which uses introspection to get and put properties in the bean.
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: `MultiHashMap` is the default implementation of the `MultiMap` interface.
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
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
- BeanMap - a map that wraps a JavaBean, representing its properties as map keys and values
- ExtendedProperties - extends the Properties class to add extra functionality
- MultiHashMap - an map that stores multiple values against each key

Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.