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 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 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)
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
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:
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
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)
-
-