Commons Lang 4.1

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.

Main features

Commons-Collections defines a number of key interfaces:

InterfaceDescription
org.apache.commons.collections.Bag A new Collection subinterface 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.
org.apache.commons.collections.Buffer A new Collection subinterface that allows objects to be removed in some well-defined order. Methods enable the next item to be peeked and removed.
org.apache.commons.collections.BidiMap A new Map subinterface that allows lookup from key to value and from value to key with equal ease.
org.apache.commons.collections.OrderedMap A new Map subinterface that is used when a map has an order, but is not sorted. Methods enable bidirectional iteration through the map.
org.apache.commons.collections.MapIterator A new Iterator subinterface specially designed for maps. This iterator avoids the need for entrySet iteration of a map, and is simpler to use.
org.apache.commons.collections.ResettableIterator A new Iterator subinterface that allows the iteration to be reset back to the start. Many iterators in this library have this functionality.
org.apache.commons.collections.Closure
org.apache.commons.collections.Predicate
org.apache.commons.collections.Transformer
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.

Packages
Package
Description
This package contains the interfaces and utilities shared across all the subpackages of this component.
This package contains implementations of the Bag and SortedBag interfaces.
This package contains implementations of the BidiMap, OrderedBidiMap and SortedBidiMap interfaces.
This package contains implementations of the Collection interface.
This package contains implementations of the Comparator interface.
This package contains implementations of the Closure, Predicate, Transformer and Factory interfaces.
This package contains implementations of the Iterator interface.
This package contains implementations of collection and map related key/value classes.
This package contains implementations of the List interface.
This package contains implementations of the Map, IterableMap, OrderedMap and SortedMap interfaces.
This package contains implementations of the MultiValuedMap interfaces.
This package contains implementations of the MultiSet and SortedMultiSet interfaces.
This package contains implementations for the Queue interface.
This package provides classes to compare two sequences of objects.
This package contains implementations of the Set, SortedSet and NavigableSet interfaces.
The "split map" concept is that of an object that implements the Put and Get interfaces, with differing generic types.
This package contains implementations of the Trie interface.
This package contains various KeyAnalyzer implementations.