The hash table from first principles, then deep into HashMap: buckets, collision chains, the Java 8 treeification to Red-Black trees, the resize()/rehash cycle, and the Java 7 infinite loop bug under concurrent access. LinkedHashMap for LRU. TreeMap's NavigableMap guarantees. WeakHashMap and EnumMap.
// Lessons
- 01soon
The Hash Table Data Structure — Arrays + Hash Functions from First Principles
- 02soon
The hashCode() Contract — Consistency, Equality and Distribution
- 03soon
HashMap: The Bucket Array and the Entry Chain
- 04soon
HashMap: put() — Hashing, Bucketing and Collision Resolution
- 05soon
HashMap: The Load Factor and When resize() Triggers
- 06soon
HashMap: Java 8 Treeification — When Chains Become Red-Black Trees
- 07soon
HashMap: resize() Internals — Rehashing and the Java 7 Infinite Loop
- 08soon
HashMap: Why Null Gets Special Treatment
- 09soon
HashMap: Thread-Safety — Why You Need ConcurrentHashMap
- 10soon
LinkedHashMap: Maintaining Insertion Order with an Extra Linked List
- 11soon
LinkedHashMap: Access-Order Mode and Building a Proper LRU Cache
- 12soon
TreeMap: Red-Black Tree Properties — Self-Balancing Guarantees
- 13soon
TreeMap: NavigableMap Operations — floorKey, ceilingKey, headMap, tailMap
- 14soon
WeakHashMap and EnumMap — Specialised Maps for Specialised Needs