com.groupbyinc.common.apache.commons.collections4.overview.html Maven / Gradle / Ivy
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:
Interface Description
{@link 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.
{@link 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.
{@link org.apache.commons.collections.BidiMap}
A new Map
subinterface that allows lookup from key to value and
from value to key with equal ease.
{@link 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.
{@link 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.
{@link 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.
{@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.