IntLongMap


public sealed class IntLongMap

Known direct subclasses
MutableIntLongMap

MutableIntLongMap is a container with a MutableMap-like interface for Int primitive keys and Long primitive values.


IntLongMap is a container with a Map-like interface for Int primitive keys and Long primitive values.

The underlying implementation is designed to avoid allocations from boxing, and insertion, removal, retrieval, and iteration operations. Allocations may still happen on insertion when the underlying storage needs to grow to accommodate newly added entries to the table. In addition, this implementation minimizes memory usage by avoiding the use of separate objects to hold key/value pairs.

This implementation makes no guarantee as to the order of the keys and values stored, nor does it make guarantees that the order remains constant over time.

This implementation is not thread-safe: if multiple threads access this container concurrently, and one or more threads modify the structure of the map (insertion or removal for instance), the calling code must provide the appropriate synchronization. Multiple threads are safe to read from this map concurrently if no write is happening.

This implementation is read-only and only allows data to be queried. A mutable implementation is provided by MutableIntLongMap.

Summary

Protected constructors

Public methods

final boolean
all(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns true if all entries match the given predicate.

final boolean
any()

Returns true if this map has at least one entry.

final boolean
any(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns true if at least one entry matches the given predicate.

final boolean
contains(int key)

Returns true if the specified key is present in this map, false otherwise.

final boolean
containsKey(int key)

Returns true if the specified key is present in this map, false otherwise.

final boolean
containsValue(long value)

Returns true if the specified value is present in this map, false otherwise.

final int

Returns the number of entries in this map.

final int
count(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns the number of entries matching the given predicate.

boolean
equals(Object other)

Compares the specified object other with this hash map for equality.

final void
forEach(@NonNull Function2<@NonNull Integer, @NonNull LongUnit> block)

Iterates over every key/value pair stored in this map by invoking the specified block lambda.

final void
forEachKey(@NonNull Function1<@NonNull IntegerUnit> block)

Iterates over every key stored in this map by invoking the specified block lambda.

final void
forEachValue(@NonNull Function1<@NonNull LongUnit> block)

Iterates over every value stored in this map by invoking the specified block lambda.

final long
get(int key)

Returns the value corresponding to the given key.

final int

Returns the number of key-value pairs that can be stored in this map without requiring internal storage reallocation.

final long
getOrDefault(int key, long defaultValue)

Returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.

final long
getOrElse(int key, @NonNull Function0<@NonNull Long> defaultValue)

Returns the value for the given key if the value is present and not null.

final int

Returns the number of key-value pairs in this map.

int

Returns the hash code value for this map.

final boolean

Indicates whether this map is empty.

final boolean

Returns true if this map is not empty.

final @NonNull String
joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated
)

Creates a String from the entries, separated by separator and using prefix before and postfix after, if supplied.

final @NonNull String
joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated,
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull CharSequence> transform
)

Creates a String from the entries, separated by separator and using prefix before and postfix after, if supplied.

final boolean

Returns true if this map has no entries.

@NonNull String

Returns a string representation of this map.

Protected constructors

IntLongMap

protected IntLongMap()

Public methods

all

Added in 1.4.0
public final boolean all(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns true if all entries match the given predicate.

any

Added in 1.4.0
public final boolean any()

Returns true if this map has at least one entry.

any

Added in 1.4.0
public final boolean any(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns true if at least one entry matches the given predicate.

contains

Added in 1.4.0
public final boolean contains(int key)

Returns true if the specified key is present in this map, false otherwise.

containsKey

Added in 1.4.0
public final boolean containsKey(int key)

Returns true if the specified key is present in this map, false otherwise.

containsValue

Added in 1.4.0
public final boolean containsValue(long value)

Returns true if the specified value is present in this map, false otherwise.

count

Added in 1.4.0
public final int count()

Returns the number of entries in this map.

count

Added in 1.4.0
public final int count(
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull Boolean> predicate
)

Returns the number of entries matching the given predicate.

equals

public boolean equals(Object other)

Compares the specified object other with this hash map for equality. The two objects are considered equal if other:

  • Is a IntLongMap

  • Has the same size as this map

  • Contains key/value pairs equal to this map's pair

forEach

Added in 1.4.0
public final void forEach(@NonNull Function2<@NonNull Integer, @NonNull LongUnit> block)

Iterates over every key/value pair stored in this map by invoking the specified block lambda.

forEachKey

Added in 1.4.0
public final void forEachKey(@NonNull Function1<@NonNull IntegerUnit> block)

Iterates over every key stored in this map by invoking the specified block lambda.

forEachValue

Added in 1.4.0
public final void forEachValue(@NonNull Function1<@NonNull LongUnit> block)

Iterates over every value stored in this map by invoking the specified block lambda.

get

Added in 1.4.0
public final long get(int key)

Returns the value corresponding to the given key.

Throws
kotlin.NoSuchElementException

if key is not in the map

getCapacity

Added in 1.4.0
public final int getCapacity()

Returns the number of key-value pairs that can be stored in this map without requiring internal storage reallocation.

getOrDefault

Added in 1.4.0
public final long getOrDefault(int key, long defaultValue)

Returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.

getOrElse

Added in 1.4.0
public final long getOrElse(int key, @NonNull Function0<@NonNull Long> defaultValue)

Returns the value for the given key if the value is present and not null. Otherwise, returns the result of the defaultValue function.

getSize

Added in 1.4.0
public final int getSize()

Returns the number of key-value pairs in this map.

hashCode

public int hashCode()

Returns the hash code value for this map. The hash code the sum of the hash codes of each key/value pair.

isEmpty

Added in 1.4.0
public final boolean isEmpty()

Indicates whether this map is empty.

isNotEmpty

Added in 1.4.0
public final boolean isNotEmpty()

Returns true if this map is not empty.

joinToString

Added in 1.4.0
public final @NonNull String joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated
)

Creates a String from the entries, separated by separator and using prefix before and postfix after, if supplied.

When a non-negative value of limit is provided, a maximum of limit items are used to generate the string. If the collection holds more than limit items, the string is terminated with truncated.

joinToString

public final @NonNull String joinToString(
    @NonNull CharSequence separator,
    @NonNull CharSequence prefix,
    @NonNull CharSequence postfix,
    int limit,
    @NonNull CharSequence truncated,
    @NonNull Function2<@NonNull Integer, @NonNull Long, @NonNull CharSequence> transform
)

Creates a String from the entries, separated by separator and using prefix before and postfix after, if supplied. Each entry is created with transform.

When a non-negative value of limit is provided, a maximum of limit items are used to generate the string. If the collection holds more than limit items, the string is terminated with truncated.

none

Added in 1.4.0
public final boolean none()

Returns true if this map has no entries.

toString

public @NonNull String toString()

Returns a string representation of this map. The map is denoted in the string by the {}. Each key/value pair present in the map is represented inside '{}by a substring of the form key=value, and pairs are separated by , `.