docs / stdlib / collection

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

codec

  1. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. FiberLocal
  5. Lock
  6. Mutex
  7. RwLock
  8. Semaphore
  9. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. RecoverableException
  4. Throwable
  5. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. Blake3
  2. DefaultHasher
  3. Hash
  4. MD5
  5. Sha1
  6. Sha256
  7. SipHash
  8. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. IpAddress
  2. Server
  3. ServerBuilder
  4. SocketAddress
  5. TcpListener
  6. TcpStream
  7. UdpSocket

io / net / dns

  1. Dns

io / net / tls

  1. TlsConnection
  2. TlsListener

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. Decompressor
  3. Encoder
  4. Schema
  5. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream

xpu / mesh

  1. MeshSimplifier

HashMap<K, V>

cajeta.collection.HashMap — hash-based map from keys to values, backed by a SwissTable (SSE2-style open addressing with SIMD metadata probing) over a dense entry array. key.hash() indexes the table and == decides equality within a probe: class K defaults to identity semantics (override hash() and ==, or apply @AutoHash, for value keys), while primitive K lowers .hash() to a runtime helper — no boxing. Capacity is a power of two >= 16; the table doubles when non-empty slots exceed 0.75 of capacity, and remove leaves a tombstone that put reuses and get probes past.

HashMap<int32, int32> counts = heap HashMap<int32, int32>(16);
counts.put(1, 100);
counts[2] = 200;                 // subscript sugar over put
int32 v = counts[2];             // ... and over get
if (counts.containsKey(1)) {
    counts.remove(1);
}
int64 n = counts.count();        // 1

Methods

Signature
HashMap(int64 initialCapacity)Construct a HashMap (capacity is rounded up to a power of two)
void put(K key, V value)Insert or replace the value at key
V get(K key)Retrieve the value at key, or null/zero if absent
boolean containsKey(K key)Test whether key is present
boolean remove(K key)Remove the entry at key; returns true iff it was present
int64 count()Live entry count
V operator[] (K key)Subscript sugar over get
void operator[]= (K key, V value)Subscript-assignment sugar over put
#Stream<K> keys()Stream over the live keys, slot-walk order
#Stream<V> values()Stream over the live values, slot-walk order
#Stream<Pair<K, V>> entries()Stream of (key, value) pairs, one fresh Pair per live slot

⚑ = @EntryPoint

See also

Source: docs/stdlib/collection/HashMap.md · 1 min read · 285 words