Commons-Collections contains implementations, enhancements and utilities that complement the Java Collections Framework.
The Apache Commons Collections Framework component adds a significant amount of enhancements to the standard JDK collections. These enhancements come in the form of new interfaces, new implementations and utility classes.
     See also the java.util package for the standard Java collections.
  
Commons-Collections defines a number of key interfaces:
| Interface | Description | 
|---|---|
| {@link org.apache.commons.collections.Bag} | A new Collectionsubinterface that stores each object together
      with the number of occurrences. Methods are provided to get the number of
      occurrences, and to add and remove a certain number of that object. | 
| {@link org.apache.commons.collections.Buffer} | A new Collectionsubinterface that allows objects to be removed
      in some well-defined order. Methods enable the next item to be peeked and removed. | 
| {@link org.apache.commons.collections.BidiMap} | A new Mapsubinterface that allows lookup from key to value and
      from value to key with equal ease. | 
| {@link org.apache.commons.collections.OrderedMap} | A new Mapsubinterface that is used when a map has an order, but is
      not sorted. Methods enable bidirectional iteration through the map. | 
| {@link org.apache.commons.collections.MapIterator} | A new Iteratorsubinterface specially designed for maps. This iterator
      avoids the need for entrySet iteration of a map, and is simpler to use. | 
| {@link org.apache.commons.collections.ResettableIterator} | A new Iteratorsubinterface that allows the iteration to be reset back
      to the start. Many iterators in this library have this functionality. | 
| {@link org.apache.commons.collections.Closure} {@link org.apache.commons.collections.Predicate} {@link org.apache.commons.collections.Transformer} {@link org.apache.commons.collections.Factory} | A group of functor interfaces that provide plugin behaviour to various collections and utilities. | 
In addition to the interfaces, there are many implementations. Consult each subpackage for full details of these.