• Basics
  • String based operations
  • Java Collections
    • How to loop through elements of List in different ways
    • How to remove elements from a List
    • How to remove elements from a List while iterating
    • Filter and collect elements from a List using Java Stream API (from Java 8 onwards)
    • Filter and find an element from a List using Java Stream API (from Java 8 onwards)
    • Convert a List of objects into a Map using Java Stream API (from Java 8 Onwards)
    • How to loop through Map entries in different ways
    • How to remove entries from a Map
    • Convert a Map into a List of objects using Java Stream API (from Java 8 Onwards)
    • Differences between Iterator and ListIterator in Java
    • Manipulate List items using lambda — replaceAll, removeIf, forEach, sort
    • Java EnumMap and EnumSet — optimized collections for enum keys
    • Java CopyOnWriteArrayList and Concurrent Collections
  • Java IO (input/ output)
    • How to read a text file in Java with examples
    • How to write a text file in Java with examples
    • Java - File Open Options
    • How to efficiently read large files in Java
    • Java NIO.2 Path and Files API — modern file I/O
    • Java WatchService — native filesystem change monitoring
  • Advanced
    • Java Optional class — creation, map, flatMap, filter, orElse patterns
    • Java Memory Management — heap, stack, GC algorithms, and memory leaks
    • Java Functional Interfaces — Function, Predicate, Consumer, and composition
    • Advanced Java Stream Collectors — groupingBy, teeing, and custom Collectors
    • Java CompletableFuture — async pipeline composition
    • Java ByteBuffer — NIO direct and heap buffers for high-performance I/O
    • Java Reference Types — Weak, Soft, and Phantom References
    • Java ThreadLocal — per-thread context variables and ScopedValue
    • Java StampedLock — optimistic reads and high-performance locking
    • Java VarHandle — atomic field access and memory ordering
    • Java ServiceLoader — built-in plugin and SPI mechanism
    • Java Cleaner API — safe post-GC resource cleanup
    • Java MethodHandles — JVM-native method invocation
  • Modern Java
    • Java Records — immutable data classes (Java 16+)
    • Java Sealed Classes and Interfaces (Java 17+)
    • Java Text Blocks — multiline strings (Java 15+)
    • Java Switch Expressions — arrow syntax and yield (Java 14+)
    • Java Pattern Matching for instanceof (Java 16+)
    • Java Pattern Matching for switch (Java 21+)
    • Java Record Patterns — destructuring in switch (Java 21+)
    • Java Virtual Threads — Project Loom (Java 21+)
    • Java Sequenced Collections (Java 21+)
    • Java Structured Concurrency (Java 21+)