Class ConcurrentLongLongPairHashMap
- java.lang.Object
-
- org.apache.pulsar.common.util.collections.ConcurrentLongLongPairHashMap
-
public class ConcurrentLongLongPairHashMap extends java.lang.ObjectConcurrent hash map where both keys and values are composed of pairs of longs.(long,long) --> (long,long)
Provides similar methods as a
ConcurrentMap<K,V>but since it's an open hash map with linear probing, no node allocations are required to store the keys and values, and no boxing is required.Keys MUST be >= 0.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceConcurrentLongLongPairHashMap.BiConsumerLongPairA BiConsumer Long pair.static classConcurrentLongLongPairHashMap.BuilderBuilder of ConcurrentLongLongPairHashMap.static interfaceConcurrentLongLongPairHashMap.LongLongPairFunctionA Long pair function.static interfaceConcurrentLongLongPairHashMap.LongLongPairPredicateA Long pair predicate.static classConcurrentLongLongPairHashMap.LongPairA pair of long values.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<ConcurrentLongLongPairHashMap.LongPair,ConcurrentLongLongPairHashMap.LongPair>asMap()longcapacity()voidclear()booleancontainsKey(long key1, long key2)voidforEach(ConcurrentLongLongPairHashMap.BiConsumerLongPair processor)ConcurrentLongLongPairHashMap.LongPairget(long key1, long key2)booleanisEmpty()java.util.List<ConcurrentLongLongPairHashMap.LongPair>keys()static ConcurrentLongLongPairHashMap.BuildernewBuilder()booleanput(long key1, long key2, long value1, long value2)booleanputIfAbsent(long key1, long key2, long value1, long value2)booleanremove(long key1, long key2)Remove an existing entry if found.booleanremove(long key1, long key2, long value1, long value2)longsize()java.util.List<ConcurrentLongLongPairHashMap.LongPair>values()
-
-
-
Method Detail
-
newBuilder
public static ConcurrentLongLongPairHashMap.Builder newBuilder()
-
size
public long size()
-
capacity
public long capacity()
-
isEmpty
public boolean isEmpty()
-
get
public ConcurrentLongLongPairHashMap.LongPair get(long key1, long key2)
- Parameters:
key1-key2-- Returns:
- the value or -1 if the key was not present.
-
containsKey
public boolean containsKey(long key1, long key2)
-
put
public boolean put(long key1, long key2, long value1, long value2)
-
putIfAbsent
public boolean putIfAbsent(long key1, long key2, long value1, long value2)
-
remove
public boolean remove(long key1, long key2)Remove an existing entry if found.- Parameters:
key1-key2-- Returns:
- the value associated with the key or -1 if key was not present.
-
remove
public boolean remove(long key1, long key2, long value1, long value2)
-
clear
public void clear()
-
forEach
public void forEach(ConcurrentLongLongPairHashMap.BiConsumerLongPair processor)
-
keys
public java.util.List<ConcurrentLongLongPairHashMap.LongPair> keys()
- Returns:
- a new list of all keys (makes a copy).
-
values
public java.util.List<ConcurrentLongLongPairHashMap.LongPair> values()
-
asMap
public java.util.Map<ConcurrentLongLongPairHashMap.LongPair,ConcurrentLongLongPairHashMap.LongPair> asMap()
-
-