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)

aot

  1. Components
  2. Scope
  3. Scoped

codec

  1. Base32
  2. 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. Fiber
  5. FiberLocal
  6. Lock
  7. Mutex
  8. RwLock
  9. Semaphore
  10. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. NotProvidedException
  4. RecoverableException
  5. ScopedBuildFailedException
  6. ScopeNotActiveException
  7. Throwable
  8. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. DefaultHasher
  2. Hash
  3. SipHash
  4. 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. BufferPool
  2. ByteBuffer
  3. IpAddress
  4. Server
  5. ServerBuilder
  6. SocketAddress
  7. TcpListener
  8. TcpStream
  9. UdpSocket

io / net / dns

  1. Dns

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. CompressStream
  3. DecompressionLimitException
  4. Decompressor
  5. Encoder
  6. Schema
  7. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream
  4. KernelTimer

xpu / mesh

  1. MeshSimplifier

LinkedList<T>

cajeta.collection.LinkedList — doubly-linked list of T. The head/tail API makes it usable as a deque or a stack: push/pop at either end in O(1). It only needs == for remove / contains, so both primitive T and class T (identity comparison) work. Peek/pop on an empty list return the type’s zero value; guard with count() when the zero value is itself a valid element.

LinkedList<int64> nums = heap LinkedList<int64>();
nums.addTail(10);      // tail:  [10]
nums.addTail(20);      // tail:  [10, 20]
nums.addHead(5);       // head:  [5, 10, 20]
int64 front = nums.head();        // 5  (peek, no removal)
int64 back  = nums.tail();        // 20
int64 first = nums.popHead();     // 5  -> [10, 20]
int64 last  = nums.popTail();     // 20 -> [10]
boolean has = nums.contains(10);  // true
int64 n = nums.count();           // 1

Methods

Signature
LinkedList() ⚑Create an empty list
void add(T value)Append value to the tail (alias of addTail)
void addFirst(T value)Prepend value to the head (alias of addHead)
void addTail(T value)Append value to the tail
void addHead(T value)Prepend value to the head
T head()Peek the value at the head without removing it
T tail()Peek the value at the tail without removing it
T popHead()Remove and return the value at the head
T popTail()Remove and return the value at the tail
T get(int64 idx)Value at index idx (0-based), walking from the closer end
boolean remove(T value)Unlink the first ==-matching value
boolean contains(T value)Test whether value is present
int64 count()Live node count

⚑ = @EntryPoint

See also

Source: docs/stdlib/collection/LinkedList.md · 1 min read · 250 words