Skip to main content

LinkedHashMap

data-structure-typed


data-structure-typed / LinkedHashMap

Class: LinkedHashMap<K, V, R>

Defined in: data-structures/hash/hash-map.ts:523

Hash-based map that preserves insertion order via a doubly-linked list.

Remarks​

Time O(1), Space O(1)

Example​

examples will be generated by unit test

Extends​

Type Parameters​

K​

K = any

V​

V = any

R​

R = [K, V]

Constructors​

Constructor​

new LinkedHashMap<K, V, R>(entryOrRawElements?, options?): LinkedHashMap<K, V, R>;

Defined in: data-structures/hash/hash-map.ts:533

Create a LinkedHashMap and optionally bulk-insert entries.

Parameters​

entryOrRawElements?​

Iterable<[K, V] | R> = []

Iterable of entries or raw elements to insert.

options?​

LinkedHashMapOptions<K, V, R>

Options: hash functions and optional record-to-entry converter.

Returns​

LinkedHashMap<K, V, R>

New LinkedHashMap instance.

Remarks​

Time O(N), Space O(N)

Overrides​

IterableEntryBase<K, V>.constructor

Accessors​

first​

Get Signature​

get first(): [K, V] | undefined;

Defined in: data-structures/hash/hash-map.ts:615

Get the first [key, value] pair.

Remarks​

Time O(1), Space O(1)

Returns​

[K, V] | undefined

First entry or undefined when empty.


Get Signature​

get head(): HashMapLinkedNode<K, V | undefined>;

Defined in: data-structures/hash/hash-map.ts:585

Get the head node (first entry) sentinel link.

Remarks​

Time O(1), Space O(1)

Returns​

HashMapLinkedNode<K, V | undefined>

Head node or sentinel.


last​

Get Signature​

get last(): [K, V] | undefined;

Defined in: data-structures/hash/hash-map.ts:625

Get the last [key, value] pair.

Remarks​

Time O(1), Space O(1)

Returns​

[K, V] | undefined

Last entry or undefined when empty.


noObjMap​

Get Signature​

get noObjMap(): Record<string, HashMapLinkedNode<K, V | undefined>>;

Defined in: data-structures/hash/hash-map.ts:569

Get the internal record for non-object keys.

Remarks​

Time O(1), Space O(1)

Returns​

Record<string, HashMapLinkedNode<K, V | undefined>>

Record of hash→node.


objHashFn​

Get Signature​

get objHashFn(): (key) => object;

Defined in: data-structures/hash/hash-map.ts:558

Get the hash function for object/weak keys.

Remarks​

Time O(1), Space O(1)

Returns​

Object-hash function.

(key) => object


size​

Get Signature​

get size(): number;

Defined in: data-structures/hash/hash-map.ts:606

Total number of entries.

Remarks​

Time O(1), Space O(1)

Returns​

number

Entry count.

Overrides​

IterableEntryBase.size


tail​

Get Signature​

get tail(): HashMapLinkedNode<K, V | undefined>;

Defined in: data-structures/hash/hash-map.ts:596

Get the tail node (last entry) sentinel link.

Remarks​

Time O(1), Space O(1)

Returns​

HashMapLinkedNode<K, V | undefined>

Tail node or sentinel.

Methods​

[iterator]()​

iterator: IterableIterator<[K, V]>;

Defined in: data-structures/base/iterable-entry-base.ts:22

Default iterator yielding [key, value] entries.

Parameters​

args​

...unknown[]

Returns​

IterableIterator<[K, V]>

Iterator of [K, V].

Remarks​

Time O(n) to iterate, Space O(1)

Inherited from​

IterableEntryBase.[iterator]


at()​

at(index): V | undefined;

Defined in: data-structures/hash/hash-map.ts:740

Get the value at a given index in insertion order.

Parameters​

index​

number

Zero-based index.

Returns​

V | undefined

Value at the index.

Remarks​

Time O(N), Space O(1)


begin()​

begin(): Generator<(K | V | undefined)[], void, unknown>;

Defined in: data-structures/hash/hash-map.ts:635

Iterate from head → tail.

Returns​

Generator<(K | V | undefined)[], void, unknown>

Iterator of [key, value].

Remarks​

Time O(N), Space O(1)


clear()​

clear(): void;

Defined in: data-structures/hash/hash-map.ts:813

Remove all entries.

Returns​

void

Remarks​

Time O(n) typical, Space O(1)

Overrides​

IterableEntryBase.clear


clone()​

clone(): this;

Defined in: data-structures/hash/hash-map.ts:819

Deep clone preserving the concrete subtype.

Returns​

this

A new instance of the same concrete class (this type).

Remarks​

Time O(n) typical, Space O(n)

Overrides​

IterableEntryBase.clone


deleteAt()​

deleteAt(index): [K, V | undefined];

Defined in: data-structures/hash/hash-map.ts:796

Delete the entry at a given index.

Parameters​

index​

number

Zero-based index.

Returns​

[K, V | undefined]

The removed entry [key, value].

Remarks​

Time O(N), Space O(1)

Throws​

If index is out of bounds.


deleteWhere()​

deleteWhere(predicate): boolean;

Defined in: data-structures/hash/hash-map.ts:769

Delete the first entry that matches a predicate.

Parameters​

predicate​

(key, value, index, map) => boolean

Function (key, value, index, map) → boolean to decide deletion.

Returns​

boolean

True if an entry was removed.

Remarks​

Time O(N), Space O(1)


entries()​

entries(): IterableIterator<[K, V | undefined]>;

Defined in: data-structures/base/iterable-entry-base.ts:31

Iterate over [key, value] pairs (may yield undefined values).

Returns​

IterableIterator<[K, V | undefined]>

Iterator of [K, V | undefined].

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.entries


every()​

every(predicate, thisArg?): boolean;

Defined in: data-structures/base/iterable-entry-base.ts:66

Test whether all entries satisfy the predicate.

Parameters​

predicate​

EntryCallback<K, V, boolean>

(key, value, index, self) => boolean.

thisArg?​

unknown

Optional this for callback.

Returns​

boolean

true if all pass; otherwise false.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.every


filter()​

filter(predicate, thisArg?): this;

Defined in: data-structures/hash/hash-map.ts:824

Filter entries and return the same-species structure.

Parameters​

predicate​

EntryCallback<K, V, boolean>

thisArg?​

unknown

Returns​

this

A new instance of the same concrete class (this type).

Remarks​

Time O(n), Space O(n)

Overrides​

IterableEntryBase.filter


find()​

find(callbackfn, thisArg?): [K, V] | undefined;

Defined in: data-structures/base/iterable-entry-base.ts:114

Find the first entry that matches a predicate.

Parameters​

callbackfn​

EntryCallback<K, V, boolean>

(key, value, index, self) => boolean.

thisArg?​

unknown

Optional this for callback.

Returns​

[K, V] | undefined

Matching [key, value] or undefined.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.find


forEach()​

forEach(callbackfn, thisArg?): void;

Defined in: data-structures/base/iterable-entry-base.ts:99

Visit each entry, left-to-right.

Parameters​

callbackfn​

EntryCallback<K, V, void>

(key, value, index, self) => void.

thisArg?​

unknown

Optional this for callback.

Returns​

void

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.forEach


get()​

get(key): V | undefined;

Defined in: data-structures/hash/hash-map.ts:723

Get the value under a key.

Parameters​

key​

K

Key to look up.

Returns​

V | undefined

Value or undefined.

Remarks​

Time O(n) generic, Space O(1)

Overrides​

IterableEntryBase.get


has()​

has(key): boolean;

Defined in: data-structures/hash/hash-map.ts:714

Whether the given key exists.

Parameters​

key​

K

Key to test.

Returns​

boolean

true if found; otherwise false.

Remarks​

Time O(n) generic, Space O(1)

Overrides​

IterableEntryBase.has


hasValue()​

hasValue(value): boolean;

Defined in: data-structures/base/iterable-entry-base.ts:143

Whether there exists an entry with the given value.

Parameters​

value​

V

Value to test.

Returns​

boolean

true if found; otherwise false.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.hasValue


isEmpty()​

isEmpty(): boolean;

Defined in: data-structures/hash/hash-map.ts:805

Whether there are no entries.

Returns​

boolean

true if empty; false otherwise.

Remarks​

Time O(1) typical, Space O(1)

Overrides​

IterableEntryBase.isEmpty


keys()​

keys(): IterableIterator<K>;

Defined in: data-structures/base/iterable-entry-base.ts:42

Iterate over keys only.

Returns​

IterableIterator<K>

Iterator of keys.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.keys


map()​

map<MK, MV>(callback, thisArg?): LinkedHashMap<MK, MV>;

Defined in: data-structures/hash/hash-map.ts:843

Map each entry to a new [key, value] pair and preserve order.

Type Parameters​

MK​

MK

MV​

MV

Parameters​

callback​

EntryCallback<K, V, [MK, MV]>

Mapping function (key, value, index, map) → [newKey, newValue].

thisArg?​

unknown

Value for this inside the callback.

Returns​

LinkedHashMap<MK, MV>

A new map of the same class with transformed entries.

Remarks​

Time O(N), Space O(N)

Overrides​

IterableEntryBase.map


print()​

print(): void;

Defined in: data-structures/base/iterable-entry-base.ts:203

Print a human-friendly representation to the console.

Returns​

void

Remarks​

Time O(n), Space O(n)

Inherited from​

IterableEntryBase.print


reduce()​

reduce<U>(callbackfn, initialValue): U;

Defined in: data-structures/base/iterable-entry-base.ts:171

Reduce entries into a single accumulator.

Type Parameters​

U​

U

Parameters​

callbackfn​

ReduceEntryCallback<K, V, U>

(acc, value, key, index, self) => acc.

initialValue​

U

Initial accumulator.

Returns​

U

Final accumulator.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.reduce


reverseBegin()​

reverseBegin(): Generator<(K | V | undefined)[], void, unknown>;

Defined in: data-structures/hash/hash-map.ts:648

Iterate from tail → head.

Returns​

Generator<(K | V | undefined)[], void, unknown>

Iterator of [key, value].

Remarks​

Time O(N), Space O(1)


set()​

set(key, value?): this;

Defined in: data-structures/hash/hash-map.ts:663

Insert or replace a single entry; preserves insertion order.

Parameters​

key​

K

Key.

value?​

V

Value.

Returns​

this

This map (for chaining).

Remarks​

Time O(1), Space O(1)


some()​

some(predicate, thisArg?): boolean;

Defined in: data-structures/base/iterable-entry-base.ts:83

Test whether any entry satisfies the predicate.

Parameters​

predicate​

EntryCallback<K, V, boolean>

(key, value, index, self) => boolean.

thisArg?​

unknown

Optional this for callback.

Returns​

boolean

true if any passes; otherwise false.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.some


toArray()​

toArray(): [K, V][];

Defined in: data-structures/base/iterable-entry-base.ts:186

Converts data structure to [key, value] pairs.

Returns​

[K, V][]

Array of entries.

Remarks​

Time O(n), Space O(n)

Inherited from​

IterableEntryBase.toArray


toVisual()​

toVisual(): string | [K, V][];

Defined in: data-structures/base/iterable-entry-base.ts:195

Visualize the iterable as an array of [key, value] pairs (or a custom string).

Returns​

string | [K, V][]

Array of entries (default) or a string.

Remarks​

Time O(n), Space O(n)

Inherited from​

IterableEntryBase.toVisual


values()​

values(): IterableIterator<V>;

Defined in: data-structures/base/iterable-entry-base.ts:53

Iterate over values only.

Returns​

IterableIterator<V>

Iterator of values.

Remarks​

Time O(n), Space O(1)

Inherited from​

IterableEntryBase.values


Protected Members​

_getIterator()​

protected _getIterator(): IterableIterator<[K, V]>;

Defined in: data-structures/hash/hash-map.ts:867

Underlying iterator for the default iteration protocol.

Returns​

IterableIterator<[K, V]>

Iterator of [K, V].

Remarks​

Time O(n), Space O(1)

Overrides​

IterableEntryBase._getIterator