# Package org.apache.commons.collections4

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

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Bag<E> | Defines a collection that counts the number of times an object appears in the collection.
  BidiMap<K,V> | Defines a map that allows bidirectional lookup between key and values.
  BoundedCollection<E> | Defines a collection that is bounded in size.
  BoundedMap<K,V> | Defines a map that is bounded in size.
  Closure<T> | Defines a functor interface implemented by classes that do something.
  Equator<T> | An equation function, which determines equality between objects of type T.
  Factory<T> | Defines a functor interface implemented by classes that create objects.
  Get<K,V> | The "read" subset of the `Map` interface.
  IterableGet<K,V> | The "read" subset of the `Map` interface.
  IterableMap<K,V> | Defines a map that can be iterated directly without needing to create an entry set.
  IterableSortedMap<K,V> | `SortedMap` + `OrderedMap`.
  KeyValue<K,V> | Defines a simple key value pair.
  ListValuedMap<K,V> | Defines a map that holds a list of values against each key.
  MapIterator<K,V> | Defines an iterator that operates over a `Map`.
  MultiMap<K,V> | Deprecated since 4.1, use `MultiValuedMap` instead
  MultiSet<E> | Defines a collection that counts the number of times an object appears in the collection.
  MultiSet.Entry<E> | An unmodifiable entry for an element and its occurrence as contained in a MultiSet.
  MultiValuedMap<K,V> | Defines a map that holds a collection of values against each key.
  OrderedBidiMap<K,V> | Defines a map that allows bidirectional lookup between key and values and retains and provides access to an ordering.
  OrderedIterator<E> | Defines an iterator that operates over an ordered container.
  OrderedMap<K,V> | Defines a map that maintains order and allows both forward and backward iteration through that order.
  OrderedMapIterator<K,V> | Defines an iterator that operates over an ordered `Map`.
  Predicate<T> | Defines a functor interface implemented by classes that perform a predicate test on an object.
  Put<K,V> | The "write" subset of the `Map` interface.
  ResettableIterator<E> | Defines an iterator that can be reset back to an initial state.
  ResettableListIterator<E> | Defines a list iterator that can be reset back to an initial state.
  SetValuedMap<K,V> | Defines a map that holds a set of values against each key.
  SortedBag<E> | Defines a type of `Bag` that maintains a sorted order among its unique representative members.
  SortedBidiMap<K,V> | Defines a map that allows bidirectional lookup between key and values and retains both keys and values in sorted order.
  Transformer<I,O> | Defines a functor interface implemented by classes that transform one object into another.
  Trie<K,V> | Defines the interface for a prefix tree, an ordered tree data structure.
  Unmodifiable | Marker interface for collections, maps and iterators that are unmodifiable.

- Class Summary
  Class | Description
  --- | ---
  ArrayStack<E> | Deprecated use `ArrayDeque` instead (available from Java 1.6)
  BagUtils | Provides utility methods and decorators for `Bag` and `SortedBag` 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.
  EnumerationUtils | Provides utility methods for `Enumeration` instances.
  FactoryUtils | `FactoryUtils` provides reference implementations and utilities for the Factory functor interface.
  FluentIterable<E> | A FluentIterable provides a powerful yet simple API for manipulating Iterable instances in a fluent manner.
  IterableUtils | Provides utility methods and decorators for `Iterable` instances.
  IteratorUtils | Provides static utility methods and decorators for `Iterator` instances.
  ListUtils | Provides utility methods and decorators for `List` instances.
  MapUtils | Provides utility methods and decorators for `Map` and `SortedMap` instances.
  MultiMapUtils | Provides utility methods and decorators for `MultiValuedMap` instances.
  MultiSetUtils | Provides utility methods and decorators for `MultiSet` instances.
  PredicateUtils | `PredicateUtils` provides reference implementations and utilities for the Predicate functor interface.
  QueueUtils | Provides utility methods and decorators for `Queue` instances.
  SetUtils | Provides utility methods and decorators for `Set` and `SortedSet` instances.
  SetUtils.SetView<E> | An unmodifiable view of a set that may be backed by other sets.
  SplitMapUtils | Utilities for working with "split maps:" objects that implement `Put` and/or `Get` but not `Map`.
  TransformerUtils | `TransformerUtils` provides reference implementations and utilities for the Transformer functor interface.
  TrieUtils | A collection of `Trie` utilities.

- Exception Summary
  Exception | Description
  --- | ---
  FunctorException | Runtime exception thrown from functors.

## Package org.apache.commons.collections4 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`

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