public class Maps
extends java.lang.Object
Map 
 interface which address various usage scenarios.
 
 Most of the concrete map classes provided here extend, directly or 
 indirectly, the abstract class Maps.AbstractHashMap, which provides a 
 more extensible replacement for HashMap. These concrete
 classes are the following:
 
Maps.StrongHashMap A standard hash map: a direct but more extensible
 replacement for HashMap.
 Maps.SoftHashMap A hash map with softly-referenced values.
 Maps.WeakHashMap A hash map with weakly-referenced values.
 Maps.StrongLinkedHashMap A standard linked hash map: a direct but more
 extensible replacement for LinkedHashMap.
 Maps.SoftLinkedHashMap A linked hash map with softly-referenced values.
 Maps.WeakLinkedHashMap A linked hash map with weakly-referenced values.
 Maps.CacheMap A linked hash map specialized for caching that delegates
 its caching policy to a Maps.CacheStrategy supplied to the constructor.
 Maps.ManagedCacheMap A cache map that also an MBean and can be
 remotely monitored by a JMX client.
 
 For Maps.CacheMap, the following concrete Maps.CacheStrategy
 implementations are provided:
 
Maps.UnboundedCacheStrategy A strategy for an unbounded cache
 (effectively, a plain linked hash map).
 Maps.BoundedLruCacheStrategy A strategy for a bounded LRU cache.
 Maps.TimedLruCacheStrategy A strategy for a timed, bounded LRU cache.
 | Modifier and Type | Class and Description | 
|---|---|
| static class  | Maps.AbstractHashMap<K,V,E extends Maps.BaseEntry<K,V>>An abstract, but nearly complete, implementation of the  Mapinterface that is functionally equivalent toHashMapbut that allows subclasses to do any or all of the following:
 
 control the concrete class ofMap.Entryinstances used so
 long as they extendMaps.BaseEntry(seeMaps.AbstractHashMap.createEntry(int, K, V, E));
 override the calculation of hashCode and equals for all keys (seeMaps.AbstractHashMap.keyHashCode(java.lang.Object)andMaps.AbstractHashMap.keyEquals(java.lang.Object, java.lang.Object));
 override the calculation of hashCode and equals for all values (seeMaps.AbstractHashMap.valueHashCode(java.lang.Object)andMaps.AbstractHashMap.valueEquals(java.lang.Object, java.lang.Object));
 track when the map is constructed, initialized, and changed (seeMaps.AbstractHashMap.mapConstructed(),Maps.AbstractHashMap.mapInitialized(), andMaps.AbstractHashMap.mapChanged()). | 
| static class  | Maps.AbstractLinkedHashMap<K,V,E extends Maps.LinkedEntry<K,V>>An abstract, but nearly complete, implementation of the  Mapinterface that is functionally equivalent toLinkedHashMapbut is based onMaps.AbstractHashMapand allows subclasses the same
 customization options. | 
| static interface  | Maps.BaseEntry<K,V>The extended  Map.Entryinterface required byMaps.AbstractHashMapfor its entries. | 
| static class  | Maps.BoundedLruCacheStrategy<K,V>A bounded size LRU (least recently used) cache strategy. | 
| static class  | Maps.CacheMap<K,V> | 
| static class  | Maps.CacheStrategy<K,V>An abstract caching strategy for a  cache map. | 
| static class  | Maps.EvictedLinkedEntry<K,V> | 
| static interface  | Maps.LinkedEntry<K,V>The  Map.Entry(andMaps.BaseEntry) extended interface
 required byMaps.AbstractLinkedHashMapfor its entries. | 
| static class  | Maps.ManagedCacheMap<K,V>A cache map which is an MBean and can be monitored by a JMX client (e.g.,
 JConsole). | 
| static interface  | Maps.ManagedCacheMapMBean | 
| static class  | Maps.SoftEntry<K,V>An  Maps.BaseEntryimplementation which holds its value with aSoftReference. | 
| static class  | Maps.SoftHashMap<K,V>An implementation of  Maps.AbstractHashMap, based onMaps.SoftEntry,
 which holds its values withSoftReferences. | 
| static class  | Maps.SoftLinkedEntry<K,V>An  Maps.LinkedEntryimplementation which holds its value with aSoftReference. | 
| static class  | Maps.SoftLinkedHashMap<K,V>An implementation of  Maps.AbstractLinkedHashMap, based onMaps.SoftLinkedEntry, which holds its values withSoftReferences. | 
| static class  | Maps.StrongEntry<K,V>The default  Maps.BaseEntryimplementation. | 
| static class  | Maps.StrongHashMap<K,V>The default implementation of  Maps.AbstractHashMap, based onMaps.StrongEntry. | 
| static class  | Maps.StrongLinkedEntry<K,V>The default  Maps.LinkedEntryimplementation. | 
| static class  | Maps.StrongLinkedHashMap<K,V>The default implementation of  Maps.AbstractLinkedHashMap, based onMaps.StrongLinkedEntry. | 
| static interface  | Maps.TimedEntry<K,V> | 
| static class  | Maps.TimedEvictedLinkedEntry<K,V> | 
| static class  | Maps.TimedLruCacheStrategy<K,V>A timed, bounded size LRU cache strategy. | 
| static class  | Maps.TimedSoftLinkedEntry<K,V> | 
| static class  | Maps.TimedStrongLinkedEntry<K,V> | 
| static class  | Maps.TimedWeakLinkedEntry<K,V> | 
| static class  | Maps.UnboundedCacheStrategy<K,V>An unbounded cache strategy. | 
| static class  | Maps.WeakEntry<K,V>An  Maps.BaseEntryimplementation which holds its value with aWeakReference. | 
| static class  | Maps.WeakHashMap<K,V>An implementation of  Maps.AbstractHashMap, based onMaps.WeakEntry,
 which holds its values withWeakReferences. | 
| static class  | Maps.WeakLinkedEntry<K,V>An  Maps.LinkedEntryimplementation which holds its value with aWeakReference. | 
| static class  | Maps.WeakLinkedHashMap<K,V>An implementation of  Maps.AbstractLinkedHashMap, based onMaps.WeakLinkedEntry, which holds its values withWeakReferences. | 
| Constructor and Description | 
|---|
| Maps() |