- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- org.pcollections.AbstractUnmodifiableMap<K,V>
-
- org.pcollections.OrderedPMap<K,V>
-
- Type Parameters:
K
-V
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map<K,V>
,PMap<K,V>
public class OrderedPMap<K,V> extends AbstractUnmodifiableMap<K,V> implements PMap<K,V>, java.io.Serializable
LikePMap
but preserves insertion order. Persistent equivalent ofLinkedHashMap
.Note that, like
LinkedHashMap
, insertion order is not affected if a key is re-inserted into the map.(Note: this is different from
PSortedMap
, which keeps elements in the order specified byComparable.compareTo(Object)
orComparator.compare(Object, Object)
.)- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static OrderedPMap<java.lang.Object,java.lang.Object>
EMPTY
private PSortedMap<java.lang.Long,java.util.Map.Entry<K,V>>
entries
private PMap<K,java.lang.Long>
ids
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description private
OrderedPMap(PMap<K,java.lang.Long> ids, PSortedMap<java.lang.Long,java.util.Map.Entry<K,V>> entries)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <K,V>
OrderedPMap<K,V>empty()
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
static <K,V>
OrderedPMap<K,V>from(java.util.Map<? extends K,? extends V> map)
V
get(java.lang.Object k)
OrderedPMap<K,V>
minus(java.lang.Object k)
OrderedPMap<K,V>
minusAll(java.util.Collection<?> keys)
OrderedPMap<K,V>
plus(K k, V v)
OrderedPMap<K,V>
plusAll(java.util.Map<? extends K,? extends V> map)
static <K,V>
OrderedPMap<K,V>singleton(K k, V v)
int
size()
-
Methods inherited from class org.pcollections.AbstractUnmodifiableMap
clear, compute, computeIfAbsent, computeIfPresent, merge, put, putAll, putIfAbsent, remove, replace, replaceAll
-
Methods inherited from class java.util.AbstractMap
clone, containsKey, containsValue, equals, hashCode, isEmpty, keySet, toString, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY
private static final OrderedPMap<java.lang.Object,java.lang.Object> EMPTY
-
entries
private final PSortedMap<java.lang.Long,java.util.Map.Entry<K,V>> entries
-
-
Constructor Detail
-
OrderedPMap
private OrderedPMap(PMap<K,java.lang.Long> ids, PSortedMap<java.lang.Long,java.util.Map.Entry<K,V>> entries)
-
-
Method Detail
-
empty
public static <K,V> OrderedPMap<K,V> empty()
-
from
public static <K,V> OrderedPMap<K,V> from(java.util.Map<? extends K,? extends V> map)
-
singleton
public static <K,V> OrderedPMap<K,V> singleton(K k, V v)
-
get
public V get(java.lang.Object k)
-
plus
public OrderedPMap<K,V> plus(K k, V v)
-
plusAll
public OrderedPMap<K,V> plusAll(java.util.Map<? extends K,? extends V> map)
-
minus
public OrderedPMap<K,V> minus(java.lang.Object k)
-
minusAll
public OrderedPMap<K,V> minusAll(java.util.Collection<?> keys)
-
-