ObjectIntMap


Known direct subclasses
MutableObjectIntMap

MutableObjectIntMap is a container with a MutableMap-like interface for keys with reference types and Int primitives for values.


ObjectIntMap is a container with a Map-like interface for keys with reference types and Int primitives for 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 MutableObjectIntMap.

Summary

Protected constructors

<K : Any?> ObjectIntMap()
Cmn

Public functions

inline Boolean
all(predicate: (K, Int) -> Boolean)

Returns true if all entries match the given predicate.

Cmn
Boolean
any()

Returns true if this map has at least one entry.

Cmn
inline Boolean
any(predicate: (K, Int) -> Boolean)

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

Cmn
inline operator Boolean
contains(key: K)

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

Cmn
Boolean
containsKey(key: K)

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

Cmn
Boolean

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

Cmn
Int

Returns the number of entries in this map.

Cmn
inline Int
count(predicate: (K, Int) -> Boolean)

Returns the number of entries matching the given predicate.

Cmn
open operator Boolean
equals(other: Any?)

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

Cmn
inline Unit
forEach(block: (key, value: Int) -> Unit)

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

Cmn
inline Unit
forEachKey(block: (key) -> Unit)

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

Cmn
inline Unit
forEachValue(block: (value: Int) -> Unit)

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

Cmn
operator Int
get(key: K)

Returns the value corresponding to the given key, or throws if the key is not present in the map.

Cmn
Int
getOrDefault(key: K, defaultValue: Int)

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

Cmn
inline Int
getOrElse(key: K, defaultValue: () -> Int)

Returns the value for the given key if the value is present.

Cmn
open Int

Returns the hash code value for this map.

Cmn
Boolean

Indicates whether this map is empty.

Cmn
Boolean

Returns true if this map is not empty.

Cmn
String
joinToString(
    separator: CharSequence,
    prefix: CharSequence,
    postfix: CharSequence,
    limit: Int,
    truncated: CharSequence
)

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

Cmn
inline String
joinToString(
    separator: CharSequence,
    prefix: CharSequence,
    postfix: CharSequence,
    limit: Int,
    truncated: CharSequence,
    crossinline transform: (key, value: Int) -> CharSequence
)

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

Cmn
Boolean

Returns true if this map has no entries.

Cmn
open String

Returns a string representation of this map.

Cmn

Public properties

Int

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

Cmn
Int

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

Cmn

Protected constructors

ObjectIntMap

protected <K : Any?> ObjectIntMap()

Public functions

all

inline fun all(predicate: (K, Int) -> Boolean): Boolean

Returns true if all entries match the given predicate.

any

fun any(): Boolean

Returns true if this map has at least one entry.

any

inline fun any(predicate: (K, Int) -> Boolean): Boolean

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

contains

inline operator fun contains(key: K): Boolean

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

containsKey

fun containsKey(key: K): Boolean

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

containsValue

fun containsValue(value: Int): Boolean

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

count

fun count(): Int

Returns the number of entries in this map.

count

inline fun count(predicate: (K, Int) -> Boolean): Int

Returns the number of entries matching the given predicate.

equals

open operator fun equals(other: Any?): Boolean

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

  • Is a ObjectIntMap

  • Has the same size as this map

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

forEach

inline fun forEach(block: (key, value: Int) -> Unit): Unit

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

forEachKey

inline fun forEachKey(block: (key) -> Unit): Unit

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

forEachValue

inline fun forEachValue(block: (value: Int) -> Unit): Unit

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

get

operator fun get(key: K): Int

Returns the value corresponding to the given key, or throws if the key is not present in the map.

Throws
kotlin.NoSuchElementException

when key is not found

getOrDefault

fun getOrDefault(key: K, defaultValue: Int): Int

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

getOrElse

inline fun getOrElse(key: K, defaultValue: () -> Int): Int

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

hashCode

open fun hashCode(): Int

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

isEmpty

fun isEmpty(): Boolean

Indicates whether this map is empty.

isNotEmpty

fun isNotEmpty(): Boolean

Returns true if this map is not empty.

joinToString

fun joinToString(
    separator: CharSequence = ", ",
    prefix: CharSequence = "",
    postfix: CharSequence = "",
    limit: Int = -1,
    truncated: CharSequence = "..."
): String

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

inline fun joinToString(
    separator: CharSequence = ", ",
    prefix: CharSequence = "",
    postfix: CharSequence = "",
    limit: Int = -1,
    truncated: CharSequence = "...",
    crossinline transform: (key, value: Int) -> CharSequence
): String

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

fun none(): Boolean

Returns true if this map has no entries.

toString

open fun toString(): String

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 , `.

Public properties

capacity

val capacityInt

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

size

val sizeInt

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