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

Cache<K, V>

cajeta.collection.Cache — bounded in-memory cache with LRU eviction and optional TTL. get / put / remove / containsKey are amortized O(1) (one hashmap lookup plus a doubly-linked-list pointer reshuffle); put inserts at the MRU head and evicts the LRU tail when over maxEntries. setMaxAge arms time-based expiration: an expired entry misses on lookup even if still physically present, and evict() drains everything expired. Not thread-safe — wrap in a lock when instances are shared.

Cache<int64, String> cache = heap Cache<int64, String>(1024);
cache.setMaxAge(Duration.ofSeconds(30));

cache.put(42, "answer");

Optional<String> hit = cache.get(42);
if (hit.isPresent()) {
    String v = hit.get();
}

Methods

Signature
Cache(int32 maxEntries)Build a cache with the given LRU bound
void setMaxAge(Duration maxAge)Set the maximum age before an entry expires; 0 (the default) disables TTL
int32 count()Live entry count
boolean isEmpty()count() == 0
boolean containsKey(K key)True when key is present AND not expired
Optional<V> get(K key)Look up key; present hit is promoted to most-recently-used
void put(K key, V value)Insert (or replace) key’s value; pass #key if you want the cache to take title
void remove(K key)Drop key and its LRU node if present; a no-op otherwise
void clear()Drop every entry and reset the LRU list to empty
void evict()Manual eviction pass — drops everything currently expired under the TTL

⚑ = @EntryPoint

See also

Source: docs/stdlib/collection/Cache.md · 1 min read · 261 words