Package org.elasticsearch.common.collect
Class ImmutableOpenMap<KType,VType>
- java.lang.Object
-
- org.elasticsearch.common.collect.ImmutableOpenMap<KType,VType>
-
- All Implemented Interfaces:
Iterable<ObjectObjectCursor<KType,VType>>
public final class ImmutableOpenMap<KType,VType> extends Object implements Iterable<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
All Methods Static Methods Instance Methods Concrete Methods 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(ObjectObjectMap<KType,VType> map)booleanequals(Object o)VTypeget(KType key)VTypegetOrDefault(KType key, VType defaultValue)inthashCode()booleanisEmpty()Iterator<ObjectObjectCursor<KType,VType>>iterator()Returns a cursor over the entries (key-value pairs) in this map.ObjectLookupContainer<KType>keys()Returns a specialized view of the keys of this associated container.Iterator<KType>keysIt()Returns a direct iterator over the keys.static <KType,VType>
ImmutableOpenMap<KType,VType>of()intsize()StringtoString()ObjectContainer<VType>values()Iterator<VType>valuesIt()Returns a direct iterator over the keys.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
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 Iterator<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.
-
keys
public ObjectLookupContainer<KType> keys()
Returns a specialized view of the keys of this associated container. The view additionally implementsObjectLookupContainer.
-
values
public ObjectContainer<VType> values()
- Returns:
- Returns a container with all values stored in this map.
-
of
public static <KType,VType> ImmutableOpenMap<KType,VType> of()
-
copyOf
public static <KType,VType> ImmutableOpenMap<KType,VType> copyOf(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)
-
-