Package org.djutils.immutablecollections
Class ImmutableHashMap<K,V>
- java.lang.Object
-
- org.djutils.immutablecollections.ImmutableAbstractMap<K,V>
-
- org.djutils.immutablecollections.ImmutableHashMap<K,V>
-
- Type Parameters:
K
- the key type of content of this MapV
- the value type of content of this Map
- All Implemented Interfaces:
Serializable
,ImmutableMap<K,V>
public class ImmutableHashMap<K,V> extends ImmutableAbstractMap<K,V>
An immutable wrapper for a HashMap.Copyright (c) 2016-2021 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.djutils.immutablecollections.ImmutableMap
ImmutableMap.ImmutableEntry<K,V>
-
-
Field Summary
-
Fields inherited from class org.djutils.immutablecollections.ImmutableAbstractMap
cachedValues, copyOrWrap
-
-
Constructor Summary
Constructors Constructor Description ImmutableHashMap(Map<K,V> map)
ImmutableHashMap(Map<K,V> map, Immutable copyOrWrap)
ImmutableHashMap(ImmutableAbstractMap<K,V> immutableMap)
ImmutableHashMap(ImmutableAbstractMap<K,V> immutableMap, Immutable copyOrWrap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableSet<ImmutableMap.ImmutableEntry<K,V>>
entrySet()
Returns aSet
view of the entries contained in this map.protected Map<K,V>
getUnderlyingMap()
Return the raw underlying map.ImmutableSet<K>
keySet()
Returns aSet
view of the keys contained in this map.Map<K,V>
toMap()
Returns a modifiable copy of this immutable map.String
toString()
Force to redefine toString.-
Methods inherited from class org.djutils.immutablecollections.ImmutableAbstractMap
containsKey, containsValue, equals, get, hashCode, isEmpty, isWrap, size, values
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.djutils.immutablecollections.ImmutableMap
forEach, getOrDefault, isCopy
-
-
-
-
Constructor Detail
-
ImmutableHashMap
public ImmutableHashMap(Map<K,V> map)
- Parameters:
map
- Map<K,V>; the map to use for the immutable map.
-
ImmutableHashMap
public ImmutableHashMap(Map<K,V> map, Immutable copyOrWrap)
- Parameters:
map
- Map<K,V>; the map to use for the immutable map.copyOrWrap
- COPY stores a safe, internal copy of the collection; WRAP stores a pointer to the original collection
-
ImmutableHashMap
public ImmutableHashMap(ImmutableAbstractMap<K,V> immutableMap)
- Parameters:
immutableMap
- ImmutableAbstractMap<K,V>; the map to use for the immutable map.
-
ImmutableHashMap
public ImmutableHashMap(ImmutableAbstractMap<K,V> immutableMap, Immutable copyOrWrap)
- Parameters:
immutableMap
- ImmutableAbstractMap<K,V>; the map to use for the immutable map.copyOrWrap
- COPY stores a safe, internal copy of the collection; WRAP stores a pointer to the original collection
-
-
Method Detail
-
getUnderlyingMap
protected final Map<K,V> getUnderlyingMap()
Return the raw underlying map.- Overrides:
getUnderlyingMap
in classImmutableAbstractMap<K,V>
- Returns:
- Map<K, V>; the raw underlying map
-
toMap
public final Map<K,V> toMap()
Returns a modifiable copy of this immutable map.- Returns:
- a modifiable copy of this immutable map.
-
keySet
public final ImmutableSet<K> keySet()
Returns aSet
view of the keys contained in this map.- Returns:
- an immutable set of the keys contained in this map
-
entrySet
public ImmutableSet<ImmutableMap.ImmutableEntry<K,V>> entrySet()
Returns aSet
view of the entries contained in this map.- Returns:
- an immutable set of the entries contained in this map
-
-