1 package org.opentrafficsim.core.immutablecollections;
2
3 import java.util.HashMap;
4 import java.util.HashSet;
5 import java.util.Map;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public class ImmutableHashMap<K, V> extends ImmutableAbstractMap<K, V>
22 {
23
24 private static final long serialVersionUID = 20160507L;
25
26
27
28
29 public ImmutableHashMap(final Map<? extends K, ? extends V> map)
30 {
31 super(new HashMap<K, V>(map));
32 }
33
34
35
36
37 public ImmutableHashMap(final ImmutableHashMap<? extends K, ? extends V> immutableMap)
38 {
39 this(immutableMap.toMap());
40 }
41
42
43 @Override
44 protected final HashMap<K, V> getMap()
45 {
46 return (HashMap<K, V>) super.getMap();
47 }
48
49
50 @Override
51 public final Map<K, V> toMap()
52 {
53 return new HashMap<K, V>(getMap());
54 }
55
56
57 @Override
58 public final ImmutableSet<K> keySet()
59 {
60 return new ImmutableHashSet<K>(getMap().keySet());
61 }
62
63
64 @Override
65 public final String toString()
66 {
67 Map<K, V> map = getMap();
68 if (null == map)
69 {
70 return "ImmutableHashMap []";
71 }
72 return "ImmutableHashMap [" + map.toString() + "]";
73 }
74
75 }