Package org.elasticsearch.common.collect
Class ImmutableOpenMap<KType,VType>
- java.lang.Object
-
- org.elasticsearch.common.collect.ImmutableOpenMap<KType,VType>
-
- All Implemented Interfaces:
java.lang.Iterable<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,VType>>
public final class ImmutableOpenMap<KType,VType> extends java.lang.Object implements java.lang.Iterable<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,VType>>An immutable map implementation based on open hash map.Can be constructed using a
builder(), or usingbuilder(ImmutableOpenMap)(which is an optimized option to copy over existing content and modify it).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classImmutableOpenMap.Builder<KType,VType>
-
Method Summary
Modifier and Type Method Description static <KType,VType>
ImmutableOpenMap.Builder<KType,VType>builder()static <KType,VType>
ImmutableOpenMap.Builder<KType,VType>builder(int size)static <KType,VType>
ImmutableOpenMap.Builder<KType,VType>builder(ImmutableOpenMap<KType,VType> map)booleancontainsKey(KType key)Returnstrueif this container has an association to a value for the given key.static <KType,VType>
ImmutableOpenMap<KType,VType>copyOf(com.carrotsearch.hppc.ObjectObjectMap<KType,VType> map)booleanequals(java.lang.Object o)VTypeget(KType key)VTypegetOrDefault(KType key, VType defaultValue)inthashCode()booleanisEmpty()java.util.Iterator<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,VType>>iterator()Returns a cursor over the entries (key-value pairs) in this map.com.carrotsearch.hppc.ObjectLookupContainer<KType>keys()Returns a specialized view of the keys of this associated container.java.util.Iterator<KType>keysIt()Returns a direct iterator over the keys.static <KType,VType>
ImmutableOpenMap<KType,VType>of()intsize()java.lang.StringtoString()com.carrotsearch.hppc.ObjectContainer<VType>values()java.util.Iterator<VType>valuesIt()Returns a direct iterator over the keys.
-
-
-
Method Detail
-
get
public VType get(KType key)
- Returns:
- Returns the value associated with the given key or the default value
for the key type, if the key is not associated with any value.
Important note: For primitive type values, the value returned for a non-existing key may not be the default value of the primitive type (it may be any value previously assigned to that slot).
-
getOrDefault
public VType getOrDefault(KType key, VType defaultValue)
- Returns:
- Returns the value associated with the given key or the provided default value if the key is not associated with any value.
-
containsKey
public boolean containsKey(KType key)
Returnstrueif this container has an association to a value for the given key.
-
size
public int size()
- Returns:
- Returns the current size (number of assigned keys) in the container.
-
isEmpty
public boolean isEmpty()
- Returns:
- Return
trueif this hash map contains no assigned keys.
-
iterator
public java.util.Iterator<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,VType>> iterator()
Returns a cursor over the entries (key-value pairs) in this map. The iterator is implemented as a cursor and it returns the same cursor instance on every call toIterator.next(). To read the current key and value use the cursor's public fields. An example is shown below.for (IntShortCursor c : intShortMap) { System.out.println("index=" + c.index + " key=" + c.key + " value=" + c.value); }The
indexfield inside the cursor gives the internal index inside the container's implementation. The interpretation of this index depends on to the container.- Specified by:
iteratorin interfacejava.lang.Iterable<KType>
-
keys
public com.carrotsearch.hppc.ObjectLookupContainer<KType> keys()
Returns a specialized view of the keys of this associated container. The view additionally implementsObjectLookupContainer.
-
keysIt
public java.util.Iterator<KType> keysIt()
Returns a direct iterator over the keys.
-
values
public com.carrotsearch.hppc.ObjectContainer<VType> values()
- Returns:
- Returns a container with all values stored in this map.
-
valuesIt
public java.util.Iterator<VType> valuesIt()
Returns a direct iterator over the keys.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
of
public static <KType,VType> ImmutableOpenMap<KType,VType> of()
-
copyOf
public static <KType,VType> ImmutableOpenMap<KType,VType> copyOf(com.carrotsearch.hppc.ObjectObjectMap<KType,VType> map)
- Returns:
- An immutable copy of the given map
-
builder
public static <KType,VType> ImmutableOpenMap.Builder<KType,VType> builder()
-
builder
public static <KType,VType> ImmutableOpenMap.Builder<KType,VType> builder(int size)
-
builder
public static <KType,VType> ImmutableOpenMap.Builder<KType,VType> builder(ImmutableOpenMap<KType,VType> map)
-
-