org.pentaho.reporting.libraries.base.util
Class LFUMap
public
class
LFUMap
extends Object
implements Serializable, Cloneable
A Least-Frequently-Used Map.
This is not a real map in the sense of the Java-Collections-API. This is a slimmed down version of a
Least-Frequently-Used map with no unnecessary extra stuff like iterators or other costly but rarely used
java.util.Collections features. The cache does not accept null-keys, and any attempt to store null-values
will yield an error.
To remove a couple of ugly checks and thus improving performance, this map enforces a minimum size of 3 items.
Author: Thomas Morgner
| Method Summary |
| void | clear() |
| Object | clone() |
| Object | get(Object key)
Return the entry for the given key. |
| int | getMaximumSize()
Returns the defined maximum size.
|
| boolean | isEmpty()
Checks whether this map is empty.
|
| void | put(Object key, Object value)
Puts the given value into the map using the specified non-null key. |
| void | remove(Object key)
Removes the entry for the given key.
|
| int | size()
Returns the number of items in this map.
|
| void | validate()
Validates the map's internal datastructures. |
public LFUMap(int cacheSize)
Creates a new LFU-Map with a maximum size of
cacheSize entries.
Parameters: cacheSize the maximum number of elements this map will be able to store.
public void clear()
public Object clone()
public Object get(Object key)
Return the entry for the given key. Any successful lookup moves the entry to the top of the list.
Parameters: key the lookup key.
Returns: the value stored for the key or null.
public int getMaximumSize()
Returns the defined maximum size.
Returns: the defines maximum size.
public boolean isEmpty()
Checks whether this map is empty.
Returns: true, if the map is empty, false otherwise.
public void put(Object key, Object value)
Puts the given value into the map using the specified non-null key. The new entry is added as first entry in
the list of recently used values.
Parameters: key the key. value the value.
public void remove(Object key)
Removes the entry for the given key.
Parameters: key the key for which an entry should be removed.
public int size()
Returns the number of items in this map.
Returns: the number of items in the map.
public void validate()
Validates the map's internal datastructures. There should be no need to call this method manually.