1. Cloneable and Object.clonehistorical

    Java's Cloneable marker interface, shallow copying, constructor bypass, and why explicit copy APIs are usually clearer.

  2. Integer and Boxinghistorical

    Integer boxing/unboxing, value comparison, caching, parsing, overflow, and null-unboxing hazards.

  3. ArrayListhistorical

    ArrayList's resizable-array model, complexity, capacity growth, iteration, and concurrency characteristics.

  4. Hashtablehistorical

    Legacy Hashtable synchronization, null restrictions, and modern replacement choices.

  5. java.lang.Objecthistorical

    Core Object methods: equals/hashCode, toString, class identity, monitor methods, and cloning/finalization caveats.

  6. PriorityQueuehistorical

    Heap-based priority queues, ordering semantics, complexity, and concurrency limitations.

  7. Java Serializablehistorical

    Java native serialization, serialVersionUID, compatibility, security risks, and modern alternatives for service/data formats.

  8. HashSethistorical

    Hash-based Set semantics, equality/hashCode requirements, null handling, and concurrency characteristics.

  9. Stringhistorical

    Java String immutability, pooling, equality, concatenation, encoding boundaries, and implementation-sensitive storage.

  10. LinkedListhistorical

    Java LinkedList as a doubly linked List/Deque, with operation costs and cache-locality trade-offs.

  11. LinkedHashMaphistorical

    Insertion/access-order HashMap with a linked iteration order and the basis of simple LRU-style maps.

  12. Immutable Objectshistorical

    Designing Java immutable objects and the concurrency benefits of stable state.

  13. LinkedHashSethistorical

    A HashSet variant with deterministic insertion-order iteration.

  14. StringBufferhistorical

    Legacy synchronized mutable text builder and its relationship to StringBuilder.

  15. Converting Between Lists and Arrayshistorical

    Safe Java List/array conversion and the mutability semantics of Arrays.asList and modern collection factories.

  16. Java Map Implementations Comparedhistorical

    Choosing HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap, and synchronized/legacy maps.

  17. Collections.synchronizedSethistorical

    Synchronized Set wrappers and the need for external synchronization during compound operations and iteration.

  18. StringBuilderhistorical

    Efficient mutable text construction, capacity, non-thread-safety, and compiler concatenation optimizations.

  19. Java List Implementations Comparedhistorical

    Choosing among ArrayList, LinkedList, CopyOnWriteArrayList, and synchronized wrappers by access pattern.

  20. Collections.synchronizedMaphistorical

    Synchronized Map wrappers, compound-operation atomicity, iteration locking, and concurrent alternatives.

  21. TreeSethistorical

    Sorted/navigable set semantics, comparator ordering, and logarithmic tree operations.

  22. Comparing Java Stringshistorical

    String identity, content equality, ordering, null safety, and case-insensitive comparison cautions.

  23. Collections.synchronizedListhistorical

    The synchronized List wrapper, compound operations, iteration requirements, and alternatives.

  24. TreeMaphistorical

    Sorted and navigable maps, key ordering, logarithmic operations, and comparator consistency.

  25. Vectorhistorical

    Legacy synchronized Vector behavior and why ArrayList or specialized concurrent collections are usually preferred.

  26. Fail-Fast Iteratorshistorical

    What ConcurrentModificationException means, structural modification tracking, and why fail-fast behavior is not a thread-safety guarantee.

  27. HashMap in JDK 7historical

    Historical JDK 7 HashMap bucket-chain implementation and resize behavior, clearly separated from modern JDK internals.

  28. HashMap in JDK 8historical

    Historical JDK 8 HashMap array/bin/tree design, resize concepts, load factor, and stable API-level lessons.