Class UnmodifiableMap<K,V>
java.lang.Object
org.apache.commons.collections4.map.AbstractIterableMap<K,V>
org.apache.commons.collections4.map.AbstractMapDecorator<K,V>
org.apache.commons.collections4.map.UnmodifiableMap<K,V>
- Type Parameters:
K- the type of the keys in this mapV- the type of the values in this map
- All Implemented Interfaces:
Serializable, Map<K,V>, Get<K, V>, IterableGet<K, V>, IterableMap<K, V>, Put<K, V>, Unmodifiable
public final class UnmodifiableMap<K,V>
extends AbstractMapDecorator<K,V>
implements Unmodifiable, Serializable
Decorates another
Map to ensure it can't be altered.
This class is Serializable from Commons Collections 3.1.
Attempts to modify it will result in an UnsupportedOperationException.
- Since:
- 3.0
- See Also:
-
Nested Class Summary
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longSerialization versionFields inherited from class AbstractMapDecorator
map -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateUnmodifiableMap(Map<? extends K, ? extends V> map) Constructor that wraps (not copies). -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()entrySet()keySet()Obtains aMapIteratorover the map.Note that the return type is Object, rather than V as in the Map interface.voidprivate voidRead the map in using a custom routine.static <K,V> Map <K, V> unmodifiableMap(Map<? extends K, ? extends V> map) Factory method to create an unmodifiable map.values()private voidWrite the map out using a custom routine.Methods inherited from class AbstractMapDecorator
containsKey, containsValue, decorated, equals, get, hashCode, isEmpty, size, toStringMethods inherited from interface Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version- See Also:
-
-
Constructor Details
-
UnmodifiableMap
Constructor that wraps (not copies).- Parameters:
map- the map to decorate, must not be null- Throws:
NullPointerException- if map is null
-
-
Method Details
-
unmodifiableMap
Factory method to create an unmodifiable map.- Type Parameters:
K- the key typeV- the value type- Parameters:
map- the map to decorate, must not be null- Returns:
- a new unmodifiable map
- Throws:
NullPointerException- if map is null- Since:
- 4.0
-
writeObject
Write the map out using a custom routine.- Parameters:
out- the output stream- Throws:
IOException- if an error occurs while writing to the stream- Since:
- 3.1
-
readObject
Read the map in using a custom routine.- Parameters:
in- the input stream- Throws:
IOException- if an error occurs while reading from the streamClassNotFoundException- if an object read from the stream can not be loaded- Since:
- 3.1
-
clear
-
put
Description copied from interface:PutNote that the return type is Object, rather than V as in the Map interface. See the class Javadoc for further info.- Specified by:
putin interfaceMap<K,V> - Specified by:
putin interfacePut<K,V> - Overrides:
putin classAbstractMapDecorator<K,V> - Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified key- Returns:
- the previous value associated with
key, ornullif there was no mapping forkey. (Anullreturn can also indicate that the map previously associatednullwithkey, if the implementation supportsnullvalues.) - See Also:
-
putAll
-
remove
- Specified by:
removein interfaceGet<K,V> - Specified by:
removein interfaceMap<K,V> - Overrides:
removein classAbstractMapDecorator<K,V> - Parameters:
key- key whose mapping is to be removed from the map- Returns:
- the previous value associated with
key, ornullif there was no mapping forkey. - See Also:
-
mapIterator
Description copied from class:AbstractIterableMapObtains aMapIteratorover the map.A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.
IterableMap<String,Integer> map = new HashedMap<String,Integer>(); MapIterator<String,Integer> it = map.mapIterator(); while (it.hasNext()) { String key = it.next(); Integer value = it.getValue(); it.setValue(value + 1); }- Specified by:
mapIteratorin interfaceIterableGet<K,V> - Overrides:
mapIteratorin classAbstractIterableMap<K,V> - Returns:
- a map iterator
-
entrySet
-
keySet
-
values
-