Java Programming

  1. Modern Java Features (Java 8 and beyond)
    1. Lambda Expressions
      1. Syntax and Structure
        1. Functional Interfaces and Lambdas
          1. Scope and Variable Capture
            1. Method References
            2. The Stream API
              1. Creating Streams
                1. From Collections
                  1. From Arrays
                    1. Stream Builders
                    2. Intermediate Operations
                      1. filter
                        1. map
                          1. flatMap
                            1. sorted
                              1. distinct
                                1. limit and skip
                                  1. peek
                                  2. Terminal Operations
                                    1. forEach
                                      1. collect
                                        1. reduce
                                          1. count
                                            1. min and max
                                              1. anyMatch, allMatch, noneMatch
                                                1. findFirst and findAny
                                                2. Parallel Streams
                                                  1. Parallel Processing
                                                    1. Performance Considerations
                                                    2. Collectors
                                                      1. Built-in Collectors
                                                        1. Custom Collectors
                                                      2. The Optional Class
                                                        1. Purpose and Usage
                                                          1. Avoiding NullPointerException
                                                            1. Common Methods
                                                              1. isPresent
                                                                1. ifPresent
                                                                  1. orElse
                                                                    1. orElseGet
                                                                      1. orElseThrow
                                                                    2. New Date and Time API (java.time)
                                                                      1. LocalDate
                                                                        1. LocalTime
                                                                          1. LocalDateTime
                                                                            1. ZonedDateTime
                                                                              1. Instant
                                                                                1. Period and Duration
                                                                                  1. Formatting and Parsing Dates
                                                                                    1. Time Zones
                                                                                    2. Interface Enhancements
                                                                                      1. Default Methods
                                                                                        1. Static Methods
                                                                                        2. Other Notable Features
                                                                                          1. var for Local-Variable Type Inference
                                                                                            1. Switch Expressions
                                                                                              1. Text Blocks
                                                                                                1. Records
                                                                                                  1. Immutable Data Classes
                                                                                                  2. Sealed Classes
                                                                                                    1. Restricting Class Hierarchies
                                                                                                    2. Pattern Matching