LruMap< K, V> class
An implementation of a Map which has a maximum size and uses a (Least
Recently Used)http://en.wikipedia.org/wiki/Cache_algorithms#LRU
algorithm
to remove items from the Map when the maximumSize is reached and new
items are added.
It is safe to access the keys and values collections without affecting the "used" ordering - as well as using forEach. Other types of access, including bracket, and putIfAbsent, promotes the key-value pair to the MRU position.
- Implemented types
-
- Map<
K, V>
- Map<
- Implementers
Constructors
Properties
- maximumSize ↔ int
-
Maximum size of the Map. If length exceeds this value at any time, n
entries accessed the earliest are removed, where n is length -
maximumSize.
read / write
-
entries
→ Iterable<
MapEntry< K, V>> -
The map entries of this.
read-only, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- isEmpty → bool
-
Returns true if there is no key/value pair in the map.
read-only, inherited
- isNotEmpty → bool
-
Returns true if there is at least one key/value pair in the map.
read-only, inherited
-
keys
→ Iterable<
K> -
The keys of this. [...]
read-only, inherited
- length → int
-
The number of key/value pairs in the map.
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
-
values
→ Iterable<
V> -
The values of this. [...]
read-only, inherited
Methods
-
addAll(
Map< K, V> other) → void -
Adds all key/value pairs of
other
to this map. [...]inherited -
addEntries(
Iterable< MapEntry< K, V>> newEntries) → void -
Adds all key/value pairs of
newEntries
to this map. [...]inherited -
cast<
RK, RV>( ) → Map< RK, RV> -
Provides a view of this map as having
RK
keys andRV
instances, if necessary. [...]inherited -
clear(
) → void -
Removes all pairs from the map. [...]
inherited
-
containsKey(
Object key) → bool -
Returns true if this map contains the given
key
. [...]inherited -
containsValue(
Object value) → bool -
Returns true if this map contains the given
value
. [...]inherited -
forEach(
void f(K key, V value)) → void -
Applies
f
to each key/value pair of the map. [...]inherited -
map<
K2, V2>( MapEntry< K2, V2> f(K key, V value)) → Map< K2, V2> -
Returns a new map where all entries of this map are transformed by
the given
f
function.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
putIfAbsent(
K key, V ifAbsent()) → V -
Look up the value of
key
, or add a new value if it isn't there. [...]inherited -
remove(
Object key) → V -
Removes
key
and its associated value, if present, from the map. [...]inherited -
removeWhere(
bool predicate(K key, V value)) → void -
Removes all entries of this map that satisfy the given
predicate
.inherited -
toString(
) → String -
Returns a string representation of this object.
inherited
-
update(
K key, V update(V value), { V ifAbsent() }) → V -
Updates the value for the provided
key
. [...]inherited -
updateAll(
V update(K key, V value)) → void -
Updates all values. [...]
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited
-
operator [](
Object key) → V -
Returns the value for the given
key
or null ifkey
is not in the map. [...]inherited -
operator []=(
K key, V value) → void -
Associates the
key
with the givenvalue
. [...]inherited