public class LiteMap<K,V> extends AbstractMap<K,V> implements Cloneable, Externalizable, ExternalizableLite
The LiteMap implementation switches at runtime between several different sub-implementations for storing the Map of objects, described here:
The LiteMap implementation supports the null key value.
Modifier and Type | Class and Description |
---|---|
static class |
LiteMap.EntryIterator<K,V>
A simple Iterator for LiteMap Entry objects.
|
protected class |
LiteMap.EntrySet
A Set of entries backed by this Map.
|
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
LiteMap()
Construct a LiteMap.
|
LiteMap(Map<? extends K,? extends V> map)
Construct a LiteMap with the same mappings as the given map.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkShrinkFromOther()
After a mutation operation has reduced the size of an underlying Map, check if the delegation model should be replaced with a more size- efficient storage approach, and switch accordingly.
|
void |
clear()
Clear all key/value mappings.
|
Object |
clone()
Create a clone of the ImmutableArrayList.
|
boolean |
containsKey(Object oKey)
Returns true if this map contains a mapping for the specified key.
|
Set<Map.Entry<K,V>> |
entrySet()
Returns a set view of the mappings contained in this map.
|
V |
get(Object oKey)
Returns the value to which this map maps the specified key.
|
protected Map.Entry<K,V> |
instantiateEntry(K key, V value)
(Factory pattern) Instantiate a Map Entry.
|
protected Set<Map.Entry<K,V>> |
instantiateEntrySet()
(Factory pattern) Instantiate an Entry Set.
|
protected Map<K,V> |
instantiateMap()
(Factory pattern) Instantiate a Map object to store entries in once the "lite" threshold has been exceeded.
|
boolean |
isEmpty()
Returns true if this map contains no key-value mappings.
|
V |
put(K key, V value)
Associates the specified value with the specified key in this map.
|
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.
|
void |
readExternal(ObjectInput in)
Initialize this object from the data in the passed ObjectInput stream.
|
V |
remove(Object oKey)
Removes the mapping for this key from this map if present.
|
int |
size()
Returns the number of key-value mappings in this map.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.
|
void |
writeExternal(ObjectOutput out)
Write this object's data to the passed ObjectOutput stream.
|
containsValue, equals, hashCode, keySet, putAll, toString, values
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
public boolean isEmpty()
public int size()
public boolean containsKey(Object oKey)
containsKey
in interface Map<K,V>
containsKey
in class AbstractMap<K,V>
public V put(K key, V value)
put
in interface Map<K,V>
put
in class AbstractMap<K,V>
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keypublic V remove(Object oKey)
remove
in interface Map<K,V>
remove
in class AbstractMap<K,V>
oKey
- key whose mapping is to be removed from the mappublic void clear()
public Object clone()
clone
in class AbstractMap<K,V>
public Set<Map.Entry<K,V>> entrySet()
Map Entry
. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except by the iterator's own remove operation, or by the setValue operation on a map entry returned by the iterator) the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Set.remove, removeAll, retainAll and clear operations. It is not expected to support the add or addAll operations.public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
in
- the stream to read data from in order to restore the objectIOException
- if an I/O exception occursClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
out
- the stream to write the object toIOException
- if an I/O exception occurspublic void readExternal(DataInput in) throws IOException
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occursprotected Map.Entry<K,V> instantiateEntry(K key, V value)
protected Set<Map.Entry<K,V>> instantiateEntrySet()
protected Map<K,V> instantiateMap()
protected void checkShrinkFromOther()