package

org.apache.commons.collections.map

This package contains implementations of the java.util.Map Map, IterableMap, OrderedMap and java.util.SortedMap SortedMap interfaces. A Map provides a lookup from a key to a value. A number of implementations also support the new MapIterator interface that enables simple iteration of map keys and values.

The following implementations are provided:

  • CaseInsensitiveMap - map that compares keys in a case insensitive way
  • CompositeMap - map that combines multiple maps into a single view
  • HashedMap - general purpose HashMap replacement supporting MapIterator
  • IdentityMap - map that uses == for comparison instead of equals()
  • Flat3Map - designed for good performance at size 3 or less
  • LinkedMap - a hash map that maintains insertion order, supporting OrderedMapIterator
  • MultiKeyMap - map that provides special methods for using more than one key to access the value
  • ReferenceMap - allows the garbage collector to collect keys and values using equals() for comparison
  • ReferenceIdentityMap - allows the garbage collector to collect keys and values using == for comparison
  • SingletonMap - a fully featured map to hold one key-value pair
  • StaticBucketMap - internally synchronized and designed for thread-contentious environments

The following decorators are provided:

  • Unmodifiable - ensures the collection cannot be altered
  • Predicated - ensures that only elements that are valid according to a predicate can be added
  • Typed - ensures that only elements that are of a specific type can be added
  • Transformed - transforms each element added
  • FixedSize - ensures that the size of the map cannot change
  • Lazy - creates objects in the map on demand
  • ListOrdered - ensures that insertion order is retained

Interfaces

CompositeMap.MapMutator This interface allows definition for all of the indeterminate mutators in a CompositeMap, as well as providing a hook for callbacks on key collisions. 

Classes

AbstractHashedMap An abstract implementation of a hash-based map which provides numerous points for subclasses to override. 
AbstractHashedMap.EntrySet EntrySet implementation. 
AbstractHashedMap.EntrySetIterator EntrySet iterator. 
AbstractHashedMap.HashEntry HashEntry used to store the data. 
AbstractHashedMap.HashIterator Base Iterator  
AbstractHashedMap.HashMapIterator MapIterator implementation. 
AbstractHashedMap.KeySet KeySet implementation. 
AbstractHashedMap.KeySetIterator KeySet iterator. 
AbstractHashedMap.Values Values implementation. 
AbstractHashedMap.ValuesIterator Values iterator. 
AbstractLinkedMap An abstract implementation of a hash-based map that links entries to create an ordered map and which provides numerous points for subclasses to override. 
AbstractLinkedMap.EntrySetIterator EntrySet iterator. 
AbstractLinkedMap.KeySetIterator KeySet iterator. 
AbstractLinkedMap.LinkEntry LinkEntry that stores the data. 
AbstractLinkedMap.LinkIterator Base Iterator that iterates in link order. 
AbstractLinkedMap.LinkMapIterator MapIterator implementation. 
AbstractLinkedMap.ValuesIterator Values iterator. 
AbstractMapDecorator Provides a base decorator that enables additional functionality to be added to a Map via decoration. 
AbstractOrderedMapDecorator Provides a base decorator that enables additional functionality to be added to an OrderedMap via decoration. 
AbstractReferenceMap An abstract implementation of a hash-based map that allows the entries to be removed by the garbage collector. 
AbstractReferenceMap.ReferenceEntry A MapEntry implementation for the map. 
AbstractSortedMapDecorator Provides a base decorator that enables additional functionality to be added to a Map via decoration. 
CaseInsensitiveMap A case-insensitive Map
CompositeMap Decorates a map of other maps to provide a single unified view. 
DefaultedMap Decorates another Map returning a default value if the map does not contain the requested key. 
FixedSizeMap Decorates another Map to fix the size, preventing add/remove. 
FixedSizeSortedMap Decorates another SortedMap to fix the size blocking add/remove. 
Flat3Map A Map implementation that stores data in simple fields until the size is greater than 3. 
HashedMap A Map implementation that is a general purpose alternative to HashMap
IdentityMap A Map implementation that matches keys and values based on == not equals()
IdentityMap.IdentityEntry HashEntry  
LazyMap Decorates another Map to create objects in the map on demand. 
LazySortedMap Decorates another SortedMap to create objects in the map on demand. 
LinkedMap A Map implementation that maintains the order of the entries. 
ListOrderedMap Decorates a Map to ensure that the order of addition is retained using a List to maintain order. 
LRUMap A Map implementation with a fixed maximum size which removes the least recently used entry if an entry is added when full. 
MultiKeyMap A Map implementation that uses multiple keys to map the value. 
MultiValueMap A MultiValueMap decorates another map, allowing it to have more than one value for a key. 
PredicatedMap Decorates another Map to validate that additions match a specified predicate. 
PredicatedSortedMap Decorates another SortedMap to validate that additions match a specified predicate. 
ReferenceIdentityMap A Map implementation that allows mappings to be removed by the garbage collector and matches keys and values based on == not equals()
ReferenceMap A Map implementation that allows mappings to be removed by the garbage collector. 
SingletonMap A Map implementation that holds a single item and is fixed size. 
StaticBucketMap A StaticBucketMap is an efficient, thread-safe implementation of java.util.Map that performs well in in a highly thread-contentious environment. 
TransformedMap Decorates another Map to transform objects that are added. 
TransformedSortedMap Decorates another SortedMap to transform objects that are added. 
TypedMap Decorates another Map to validate that elements added are of a specific type. 
TypedSortedMap Decorates another SortedMap to validate that elements added are of a specific type. 
UnmodifiableEntrySet Decorates a map entry Set to ensure it can't be altered. 
UnmodifiableMap Decorates another Map to ensure it can't be altered. 
UnmodifiableOrderedMap Decorates another OrderedMap to ensure it can't be altered. 
UnmodifiableSortedMap Decorates another SortedMap to ensure it can't be altered.