- All Implemented Interfaces:
Map<From,
To>
Legacy. old code retained for existing internal use only.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Helper class to implement the Map.Entry interface to enumerate entries in the map -
Constructor Summary
ConstructorDescriptionConstruct a new empty one-to-many mapOneToManyMap
(OneToManyMap<From, To> map) Construct a new one-to-many map whose contents are initialised from the existing map. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all entries from the map.boolean
Answer true if this mapping contains the pair(key, value)
.boolean
containsKey
(Object key) Answer true if the map contains the given value as a key.boolean
containsValue
(Object value) Answer true if the map contains the given object as a value stored against any key.entrySet()
Answer a set of the mappings in this map.boolean
Compares the specified object with this map for equality.Get a value for this key.Answer an iterator over all of the values for the given key.int
hashCode()
Returns the hash code value for this map.boolean
isEmpty()
Answer true if the map is empty of key-value mappings.keySet()
Answer a set of the keys in this mapAssociates the given value with the given key.void
Put all entries from one map into this map.Remove all of the associations for the given key.boolean
Remove the specific association between the given key and value.int
size()
Answer the number of key-value mappings in the maptoString()
Answer a string representation of this map.values()
Returns a collection view of the values contained in this map.Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, replace, replace, replaceAll
-
Constructor Details
-
OneToManyMap
public OneToManyMap()Construct a new empty one-to-many map
-
OneToManyMap
Construct a new one-to-many map whose contents are initialised from the existing map.
- Parameters:
map
- An existing one-to-many map
-
-
Method Details
-
clear
public void clear()Clear all entries from the map. -
containsKey
Answer true if the map contains the given value as a key.- Specified by:
containsKey
in interfaceMap<From,
To> - Parameters:
key
- The key object to test for- Returns:
- True or false
-
containsValue
Answer true if the map contains the given object as a value stored against any key. Note that this is quite an expensive operation in the current implementation.- Specified by:
containsValue
in interfaceMap<From,
To> - Parameters:
value
- The value to test for- Returns:
- True if the value is in the map
-
contains
Answer true if this mapping contains the pair
(key, value)
.- Parameters:
key
- A key objectvalue
- A value object- Returns:
- True if
key
hasvalue
as one of its values in this mapping
-
entrySet
Answer a set of the mappings in this map. Each member of the set will be a Map.Entry value. -
equals
Compares the specified object with this map for equality. Returns true if the given object is also a map and the two Maps represent the same mappings. More formally, two maps t1 and t2 represent the same mappings if t1.entrySet().equals(t2.entrySet()). This ensures that the equals method works properly across different implementations of the Map interface. -
get
Get a value for this key. Since this map is explicitly designed to allow there to be more than one mapping per key, this method will return an undetermined instance of the mapping. If no mapping exists, or the selected value is null, null is returned. -
getAll
Answer an iterator over all of the values for the given key. An iterator is always supplied, even if the key is not present.- Parameters:
key
- The key object- Returns:
- An iterator over all of the values for this key in the map
-
hashCode
public int hashCode()Returns the hash code value for this map. The hash code of a map is defined to be the sum of the hashCodes of each entry in the map's entrySet view. This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode() for any two maps t1 and t2, as required by the general contract of Object.hashCode -
isEmpty
public boolean isEmpty()Answer true if the map is empty of key-value mappings. -
keySet
Answer a set of the keys in this map -
put
Associates the given value with the given key. Since this map formulation allows many values for one key, previous associations with the key are not lost. Consequently, the method always returns null (since the replaced value is not defined). -
putAll
Put all entries from one map into this map. Tests for m being a OneToManyMap, and, if so, copies all of the entries for each key.
-
remove
Remove all of the associations for the given key. If only a specific association is to be removed, useremove(java.lang.Object, java.lang.Object)
instead. Has no effect if the key is not present in the map. Since no single specific association with the key is defined, this method always returns null. -
remove
Remove the specific association between the given key and value. Has no effect if the association is not present in the map. If all values for a particular key have been removed post removing this particular association, the key will no longer appear as a key in the map.
-
size
public int size()Answer the number of key-value mappings in the map
-
values
Returns a collection view of the values contained in this map. Specifically, this will be a set, so duplicate values that appear for multiple keys are suppressed.
-
toString
Answer a string representation of this map. This can be quite a long string for large maps.
-