|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--java.util.AbstractMap
|
+--org.apache.commons.collections.map.AbstractHashedMap
|
+--org.apache.commons.collections.map.AbstractLinkedMap
|
+--org.apache.commons.collections.map.LRUMap
A Map implementation with a fixed maximum size which removes
the least recently used entry if an entry is added when full.
The least recently used algorithm works on the get and put operations only. Iteration of any kind, including setting the value by iteration, does not change the order. Queries such as containsKey and containsValue or access via views also do not change the order.
The map implements OrderedMap and entries may be queried using
the bidirectional OrderedMapIterator. The order returned is
least recently used to most recently used. Iterators from map views can
also be cast to OrderedIterator if required.
All the available iterators can be reset back to the start by casting to
ResettableIterator and calling reset().
| Constructor Summary | |
LRUMap()
Constructs a new empty map with a maximum size of 100. |
|
LRUMap(int maxSize)
Constructs a new, empty map with the specified maximum size. |
|
LRUMap(int maxSize,
boolean scanUntilRemovable)
Constructs a new, empty map with the specified maximum size. |
|
LRUMap(int maxSize,
float loadFactor)
Constructs a new, empty map with the specified initial capacity and load factor. |
|
LRUMap(int maxSize,
float loadFactor,
boolean scanUntilRemovable)
Constructs a new, empty map with the specified initial capacity and load factor. |
|
LRUMap(java.util.Map map)
Constructor copying elements from another map. |
|
LRUMap(java.util.Map map,
boolean scanUntilRemovable)
Constructor copying elements from another map. |
|
| Method Summary | |
java.lang.Object |
clone()
Clones the map without cloning the keys or values. |
java.lang.Object |
get(java.lang.Object key)
Gets the value mapped to the key specified. |
boolean |
isFull()
Returns true if this map is full and no new mappings can be added. |
boolean |
isScanUntilRemovable()
Whether this LRUMap will scan until a removable entry is found when the map is full. |
int |
maxSize()
Gets the maximum size of the map (the bound). |
| Methods inherited from class org.apache.commons.collections.map.AbstractLinkedMap |
clear, containsValue, firstKey, lastKey, mapIterator, nextKey, orderedMapIterator, previousKey |
| Methods inherited from class org.apache.commons.collections.map.AbstractHashedMap |
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values |
| Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Map |
clear, containsKey, containsValue, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
| Constructor Detail |
public LRUMap()
public LRUMap(int maxSize)
maxSize - the maximum size of the map
java.lang.IllegalArgumentException - if the maximum size is less than one
public LRUMap(int maxSize,
boolean scanUntilRemovable)
maxSize - the maximum size of the mapscanUntilRemovable - scan until a removeable entry is found, default false
java.lang.IllegalArgumentException - if the maximum size is less than one
public LRUMap(int maxSize,
float loadFactor)
maxSize - the maximum size of the map, -1 for no limit,loadFactor - the load factor
java.lang.IllegalArgumentException - if the maximum size is less than one
java.lang.IllegalArgumentException - if the load factor is less than zero
public LRUMap(int maxSize,
float loadFactor,
boolean scanUntilRemovable)
maxSize - the maximum size of the map, -1 for no limit,loadFactor - the load factorscanUntilRemovable - scan until a removeable entry is found, default false
java.lang.IllegalArgumentException - if the maximum size is less than one
java.lang.IllegalArgumentException - if the load factor is less than zeropublic LRUMap(java.util.Map map)
The maximum size is set from the map's size.
map - the map to copy
java.lang.NullPointerException - if the map is null
java.lang.IllegalArgumentException - if the map is empty
public LRUMap(java.util.Map map,
boolean scanUntilRemovable)
map - the map to copyscanUntilRemovable - scan until a removeable entry is found, default false
java.lang.NullPointerException - if the map is null
java.lang.IllegalArgumentException - if the map is empty| Method Detail |
public java.lang.Object get(java.lang.Object key)
This operation changes the position of the key in the map to the most recently used position (first).
get in interface java.util.Mapget in class AbstractHashedMapkey - the key
public boolean isFull()
isFull in interface BoundedMaptrue if the map is fullpublic int maxSize()
maxSize in interface BoundedMappublic boolean isScanUntilRemovable()
public java.lang.Object clone()
clone in class AbstractHashedMap
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||