-
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+)