public class MultiDimensionalMap<K,T,V>
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Class and Description |
---|---|
static class |
MultiDimensionalMap.Entry<K,T,V> |
Constructor and Description |
---|
MultiDimensionalMap(java.util.Map<Pair<K,T>,V> backedMap) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all of the mappings from this map (optional operation).
|
boolean |
contains(K k,
T t) |
boolean |
containsKey(java.lang.Object key)
Returns true if this map contains a mapping for the specified
key.
|
boolean |
containsValue(java.lang.Object value)
Returns true if this map maps one or more keys to the
specified value.
|
java.util.Set<MultiDimensionalMap.Entry<K,T,V>> |
entrySet()
Returns a
Set view of the mappings contained in this map. |
boolean |
equals(java.lang.Object o) |
V |
get(K k,
T t) |
V |
get(java.lang.Object key)
Returns the value to which the specified key is mapped,
or
null if this map contains no mapping for the key. |
int |
hashCode() |
boolean |
isEmpty()
Returns true if this map contains no key-value mappings.
|
java.util.Set<Pair<K,T>> |
keySet()
Returns a
Set view of the keys contained in this map. |
static <K,T,V> MultiDimensionalMap<K,T,V> |
newHashBackedMap()
Thread safe hash map impl
|
static <K,T,V> MultiDimensionalMap<K,T,V> |
newThreadSafeHashBackedMap()
Thread safe hash map implementation
|
static <K,T,V> MultiDimensionalMap<K,T,V> |
newThreadSafeTreeBackedMap()
Thread safe sorted map implementation
|
static <K,T,V> MultiDimensionalMap<K,T,V> |
newTreeBackedMap()
Tree map implementation
|
void |
put(K k,
T t,
V v) |
V |
put(Pair<K,T> key,
V value)
Associates the specified value with the specified key in this map
(optional operation).
|
void |
putAll(java.util.Map<? extends Pair<K,T>,? extends V> m)
Copies all of the mappings from the specified map to this map
(optional operation).
|
V |
remove(java.lang.Object key)
Removes the mapping for a key from this map if it is present
(optional operation).
|
int |
size()
Returns the number of key-value mappings in this map.
|
java.lang.String |
toString() |
java.util.Collection<V> |
values()
Returns a
Collection view of the values contained in this map. |
public static <K,T,V> MultiDimensionalMap<K,T,V> newThreadSafeTreeBackedMap()
K
- T
- V
- public static <K,T,V> MultiDimensionalMap<K,T,V> newThreadSafeHashBackedMap()
K
- T
- V
- public static <K,T,V> MultiDimensionalMap<K,T,V> newHashBackedMap()
K
- T
- V
- public static <K,T,V> MultiDimensionalMap<K,T,V> newTreeBackedMap()
K
- T
- V
- public int size()
public boolean isEmpty()
public boolean containsKey(java.lang.Object key)
key
- key whose presence in this map is to be testedjava.lang.ClassCastException
- if the key is of an inappropriate type for
this map
(optional)java.lang.NullPointerException
- if the specified key is null and this map
does not permit null keys
(optional)public boolean containsValue(java.lang.Object value)
value
- value whose presence in this map is to be testedjava.lang.ClassCastException
- if the value is of an inappropriate type for
this map
(optional)java.lang.NullPointerException
- if the specified value is null and this
map does not permit null values
(optional)public V get(java.lang.Object key)
null
if this map contains no mapping for the key.
More formally, if this map contains a mapping from a key
k
to a value v
such that (key==null ? k==null :
key.equals(k))
, then this method returns v
; otherwise
it returns null
. (There can be at most one such mapping.)
If this map permits null values, then a return value of
null
does not necessarily indicate that the map
contains no mapping for the key; it's also possible that the map
explicitly maps the key to null
. The containsKey
operation may be used to distinguish these two cases.
key
- the key whose associated value is to be returnednull
if this map contains no mapping for the keyjava.lang.ClassCastException
- if the key is of an inappropriate type for
this map
(optional)java.lang.NullPointerException
- if the specified key is null and this map
does not permit null keys
(optional)public V put(Pair<K,T> key, V value)
m.containsKey(k)
would return
true.)key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keyjava.lang.UnsupportedOperationException
- if the put operation
is not supported by this mapjava.lang.ClassCastException
- if the class of the specified key or value
prevents it from being stored in this mapjava.lang.NullPointerException
- if the specified key or value is null
and this map does not permit null keys or valuesjava.lang.IllegalArgumentException
- if some property of the specified key
or value prevents it from being stored in this mappublic V remove(java.lang.Object key)
(key==null ? k==null : key.equals(k))
, that mapping
is removed. (The map can contain at most one such mapping.)
Returns the value to which this map previously associated the key, or null if the map contained no mapping for the key.
If this map permits null values, then a return value of null does not necessarily indicate that the map contained no mapping for the key; it's also possible that the map explicitly mapped the key to null.
The map will not contain a mapping for the specified key once the call returns.
key
- key whose mapping is to be removed from the mapjava.lang.UnsupportedOperationException
- if the remove operation
is not supported by this mapjava.lang.ClassCastException
- if the key is of an inappropriate type for
this map
(optional)java.lang.NullPointerException
- if the specified key is null and this
map does not permit null keys
(optional)public void putAll(java.util.Map<? extends Pair<K,T>,? extends V> m)
Map<>#put(k, v)
on this map once
for each mapping from key k to value v in the
specified map. The behavior of this operation is undefined if the
specified map is modified while the operation is in progress.m
- mappings to be stored in this mapjava.lang.UnsupportedOperationException
- if the putAll operation
is not supported by this mapjava.lang.ClassCastException
- if the class of a key or value in the
specified map prevents it from being stored in this mapjava.lang.NullPointerException
- if the specified map is null, or if
this map does not permit null keys or values, and the
specified map contains null keys or valuesjava.lang.IllegalArgumentException
- if some property of a key or value in
the specified map prevents it from being stored in this mappublic void clear()
java.lang.UnsupportedOperationException
- if the clear operation
is not supported by this mappublic java.util.Set<Pair<K,T>> keySet()
Set
view of the keys contained in this map.
The applyTransformToDestination is backed by the map, so changes to the map are
reflected in the applyTransformToDestination, and vice-versa. If the map is modified
while an iteration over the applyTransformToDestination is in progress (except through
the iterator's own remove operation), the results of
the iteration are undefined. The applyTransformToDestination supports element removal,
which removes the corresponding mapping from the map, via the
Iterator.remove, Set.remove,
removeAll, retainAll, and clear
operations. It does not support the add or addAll
operations.public java.util.Collection<V> values()
Collection
view of the values contained in this map.
The collection is backed by the map, so changes to the map are
reflected in the collection, and vice-versa. If the map is
modified while an iteration over the collection is in progress
(except through the iterator's own remove operation),
the results of the iteration are undefined. The collection
supports element removal, which removes the corresponding
mapping from the map, via the Iterator.remove,
Collection.remove, removeAll,
retainAll and clear operations. It does not
support the add or addAll operations.public java.util.Set<MultiDimensionalMap.Entry<K,T,V>> entrySet()
Set
view of the mappings contained in this map.
The applyTransformToDestination is backed by the map, so changes to the map are
reflected in the applyTransformToDestination, and vice-versa. If the map is modified
while an iteration over the applyTransformToDestination is in progress (except through
the iterator's own remove operation, or through the
setValue operation on a map entry returned by the
iterator) the results of the iteration are undefined. The applyTransformToDestination
supports element removal, which removes the corresponding
mapping from the map, via the Iterator.remove,
Set.remove, removeAll, retainAll and
clear operations. It does not support the
add or addAll operations.public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object