public interface Map4D<K,V>
Dictionary
abstract class.
The map has three collection views, which are backed by the map (modifications on one show up on the other): a set of keys, a collection of values, and a set of key-value mappings. Some maps have a guaranteed order, but not all do.
Note: Be careful about using mutable keys. Behavior is unspecified if a key's comparison behavior is changed after the fact. As a corollary to this rule, don't use a Map as one of its own keys or values, as it makes hashCode and equals have undefined behavior.
All maps are recommended to provide a no argument constructor, which builds an empty map, and one that accepts a Map parameter and copies the mappings (usually by putAll), to create an equivalent map. Unfortunately, Java cannot enforce these suggestions.
The map may be unmodifiable, in which case unsupported operations will throw an UnsupportedOperationException. Note that some operations may be safe, such as putAll(m) where m is empty, even if the operation would normally fail with a non-empty argument.
HashMap
,
TreeMap
,
Hashtable
,
SortedMap
,
Collection
,
Set
Modifier and Type | Interface and Description |
---|---|
static interface |
Map4D.Entry<K,V>
A map entry (key-value pair).
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Remove all entries from this Map (optional operation).
|
boolean |
containsKey(java.lang.Object key)
Returns true if this contains a mapping for the given key.
|
boolean |
containsValue(java.lang.Object value)
Returns true if this contains at least one mapping with the given value.
|
java.util.Set<Map4D.Entry<K,V>> |
entrySet()
Returns a set view of the mappings in this Map.
|
boolean |
equals(java.lang.Object o)
Compares the specified object with this map for equality.
|
V |
get(java.lang.Object key)
Returns the value mapped by the given key.
|
int |
hashCode()
Returns the hash code for this map.
|
boolean |
isEmpty()
Returns true if the map contains no mappings.
|
java.util.Set<K> |
keySet()
Returns a set view of the keys in this Map.
|
V |
put(K key,
V value)
Associates the given key to the given value (optional operation).
|
void |
putAll(Map4D<? extends K,? extends V> m)
Copies all entries of the given map to this one (optional operation).
|
V |
remove(java.lang.Object o)
Removes the mapping for this key if present (optional operation).
|
int |
size()
Returns the number of key-value mappings in the map.
|
java.util.Collection<V> |
values()
Returns a collection (or bag) view of the values in this Map.
|
void clear()
java.lang.UnsupportedOperationException
- if clear is not supportedboolean containsKey(java.lang.Object key)
key
- the key to search forjava.lang.ClassCastException
- if the key is of an inappropriate typejava.lang.NullPointerException
- if key is null
but the map
does not permit null keysboolean containsValue(java.lang.Object value)
(value == null ? v == null : value.equals(v))
. This usually
requires linear time.value
- the value to search forjava.lang.ClassCastException
- if the type of the value is not a valid type
for this map.java.lang.NullPointerException
- if the value is null and the map doesn't
support null values.java.util.Set<Map4D.Entry<K,V>> entrySet()
Iterator.remove
, Set.remove
,
removeAll
, retainAll
, and clear
.
Element addition, via add
or addAll
, is
not supported via this set.Map.Entry
boolean equals(java.lang.Object o)
true
if the other object is a Map with the same mappings,
that is,o instanceof Map && entrySet().equals(((Map) o).entrySet();
This allows comparison of maps, regardless of implementation.equals
in class java.lang.Object
o
- the object to be comparedSet.equals(Object)
V get(java.lang.Object key)
null
if
there is no mapping. However, in Maps that accept null values, you
must rely on containsKey
to determine if a mapping exists.key
- the key to look upjava.lang.ClassCastException
- if the key is an inappropriate typejava.lang.NullPointerException
- if this map does not accept null keyscontainsKey(Object)
V put(K key, V value)
null
values, a null return does not
always imply that the mapping was created.key
- the key to mapvalue
- the value to be mappedjava.lang.UnsupportedOperationException
- if the operation is not supportedjava.lang.ClassCastException
- if the key or value is of the wrong typejava.lang.IllegalArgumentException
- if something about this key or value
prevents it from existing in this mapjava.lang.NullPointerException
- if either the key or the value is null,
and the map forbids null keys or valuescontainsKey(Object)
int hashCode()
hashCode
in class java.lang.Object
Map.Entry#hashCode()
boolean isEmpty()
java.util.Set<K> keySet()
Iterator.remove
, Set.remove
,
removeAll
, retainAll
, and clear
.
Element addition, via add
or addAll
, is
not supported via this set.void putAll(Map4D<? extends K,? extends V> m)
m
- the mapping to load into this mapjava.lang.UnsupportedOperationException
- if the operation is not supportedjava.lang.ClassCastException
- if a key or value is of the wrong typejava.lang.IllegalArgumentException
- if something about a key or value
prevents it from existing in this mapjava.lang.NullPointerException
- if the map forbids null keys or values, or
if m
is null.put(Object, Object)
V remove(java.lang.Object o)
key
- the key to removejava.lang.UnsupportedOperationException
- if deletion is unsupportedjava.lang.NullPointerException
- if the key is null and this map doesn't
support null keys.java.lang.ClassCastException
- if the type of the key is not a valid type
for this map.int size()
java.util.Collection<V> values()
Iterator.remove
,
Collection.remove
, removeAll
,
retainAll
, and clear
. Element addition, via
add
or addAll
, is not supported via this
collection.