Package org.opensearch.common.collect
Class ImmutableOpenMap<KType,VType>
java.lang.Object
org.opensearch.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 using builder(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 class
ImmutableOpenMap.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)
boolean
containsKey(KType key)
Returnstrue
if 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)
boolean
equals(java.lang.Object o)
VType
get(KType key)
VType
getOrDefault(KType key, VType defaultValue)
int
hashCode()
boolean
isEmpty()
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()
int
size()
java.lang.String
toString()
com.carrotsearch.hppc.ObjectContainer<VType>
values()
java.util.Iterator<VType>
valuesIt()
Returns a direct iterator over the keys.
-
Method Details
-
get
- 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
- Returns:
- Returns the value associated with the given key or the provided default value if the key is not associated with any value.
-
containsKey
Returnstrue
if 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
true
if 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
index
field inside the cursor gives the internal index inside the container's implementation. The interpretation of this index depends on to the container.- Specified by:
iterator
in interfacejava.lang.Iterable<KType>
-
keys
Returns a specialized view of the keys of this associated container. The view additionally implementsObjectLookupContainer
. -
keysIt
Returns a direct iterator over the keys. -
values
- Returns:
- Returns a container with all values stored in this map.
-
valuesIt
Returns a direct iterator over the keys. -
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-
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
-
builder
-
builder
public static <KType, VType> ImmutableOpenMap.Builder<KType,VType> builder(ImmutableOpenMap<KType,VType> map)
-