|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.collections.map.AbstractMapDecorator<K,V>
org.apache.commons.collections.bidimap.AbstractBidiMapDecorator<K,V>
org.apache.commons.collections.bidimap.UnmodifiableBidiMap<K,V>
public final class UnmodifiableBidiMap<K,V>
Decorates another BidiMap
to ensure it can't be altered.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Field Summary |
---|
Fields inherited from class org.apache.commons.collections.map.AbstractMapDecorator |
---|
map |
Method Summary | ||
---|---|---|
void |
clear()
|
|
static
|
decorate(BidiMap<K,V> map)
Factory method to create an unmodifiable map. |
|
Set<Map.Entry<K,V>> |
entrySet()
|
|
BidiMap<V,K> |
inverseBidiMap()
Gets a view of this map where the keys and values are reversed. |
|
Set<K> |
keySet()
|
|
MapIterator<K,V> |
mapIterator()
Obtains a MapIterator over the map. |
|
V |
put(K key,
V value)
Puts the key-value pair into the map, replacing any previous pair. |
|
void |
putAll(Map<? extends K,? extends V> mapToCopy)
|
|
V |
remove(Object key)
|
|
K |
removeValue(V value)
Removes the key-value pair that is currently mapped to the specified value (optional operation). |
|
Collection<V> |
values()
|
Methods inherited from class org.apache.commons.collections.bidimap.AbstractBidiMapDecorator |
---|
getBidiMap, getKey |
Methods inherited from class org.apache.commons.collections.map.AbstractMapDecorator |
---|
containsKey, containsValue, equals, get, getMap, hashCode, isEmpty, size, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
---|
containsKey, containsValue, equals, get, hashCode, isEmpty, size |
Method Detail |
---|
public static <K,V> BidiMap<K,V> decorate(BidiMap<K,V> map)
If the map passed in is already unmodifiable, it is returned.
map
- the map to decorate, must not be null
IllegalArgumentException
- if map is nullpublic void clear()
clear
in interface Map<K,V>
clear
in class AbstractMapDecorator<K,V>
public V put(K key, V value)
BidiMap
When adding a key-value pair, the value may already exist in the map against a different key. That mapping is removed, to ensure that the value only occurs once in the inverse map.
BidiMap map1 = new DualHashBidiMap(); map.put("A","B"); // contains A mapped to B, as per Map map.put("A","C"); // contains A mapped to C, as per MapBidiMap map2 = new DualHashBidiMap(); map.put("A","B"); // contains A mapped to B, as per Map map.put("C","B"); // contains C mapped to B, key A is removed
put
in interface Map<K,V>
put
in interface BidiMap<K,V>
put
in class AbstractMapDecorator<K,V>
key
- the key to storevalue
- the value to store
public void putAll(Map<? extends K,? extends V> mapToCopy)
putAll
in interface Map<K,V>
putAll
in class AbstractMapDecorator<K,V>
public V remove(Object key)
remove
in interface Map<K,V>
remove
in class AbstractMapDecorator<K,V>
public Set<Map.Entry<K,V>> entrySet()
entrySet
in interface Map<K,V>
entrySet
in class AbstractMapDecorator<K,V>
public Set<K> keySet()
keySet
in interface Map<K,V>
keySet
in class AbstractMapDecorator<K,V>
public Collection<V> values()
values
in interface Map<K,V>
values
in class AbstractMapDecorator<K,V>
public K removeValue(V value)
BidiMap
If the value is not contained in the map, null
is returned.
Implementations should seek to make this method perform equally as well
as remove(Object)
.
removeValue
in interface BidiMap<K,V>
removeValue
in class AbstractBidiMapDecorator<K,V>
value
- the value to find the key-value pair for
null
if nothing removedpublic MapIterator<K,V> mapIterator()
BidiMap
MapIterator
over the map.
A map iterator is an efficient way of iterating over maps. It does not require that the map is stored using Map Entry objects which can increase performance.
BidiMap map = new DualHashBidiMap(); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue("newValue"); }
mapIterator
in interface BidiMap<K,V>
mapIterator
in interface IterableMap<K,V>
mapIterator
in class AbstractBidiMapDecorator<K,V>
public BidiMap<V,K> inverseBidiMap()
BidiMap
Changes to one map will be visible in the other and vice versa.
This enables both directions of the map to be accessed as a Map
.
Implementations should seek to avoid creating a new object every time this
method is called. See AbstractMap.values()
etc. Calling this
method on the inverse map should return the original.
inverseBidiMap
in interface BidiMap<K,V>
inverseBidiMap
in class AbstractBidiMapDecorator<K,V>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |