Linked Lists and Cache Locality
Array-backed structures store elements close together in memory.
Linked-list nodes can be scattered throughout memory.
Pointer chasing creates dependent memory accesses and cache misses.
Object-based linked lists introduce per-node allocation and reference overhead.
Garbage collection can add additional overhead in managed runtimes.
Java and .NET do provide linked-list implementations, but they are specialized rather than being the default collection for most workloads.
Deque or array-backed collections are often better for practical queue and stack workloads.