Functional Programming in Java 8

Video description

In this Java 8 course for experienced programmers, Martin Kalin introduces constructs such as lambda expressions, method references, constructor references, and the Java Streams API. This is a code-driven course for the Java programmer who wants real hands-on experience working with functional programming.

You will gain a thorough understanding of why Java 8 was introduced, how functional programming works within data pipelines, and how this functional programming style promotes terse and simple to modify code, run-time efficiency, and thread safety. You will require access to a computer loaded with Java SE 8.

  • Learn to program using Java 8's new functional programming constructs
  • Discover how functional programming fits into the data pipeline model of computing
  • Become familiar with lambda expressions, method references, and constructor references
  • Understand how functional constructs work with the Java Streams API
  • Gain experience programming in Java 8 with multiple hands-on code centric exercises
Martin Kalin has a Ph.D. from Northwestern University and is a professor in the College of Computing and Digital Media at DePaul University. He enjoys commercial programming and has co-developed large distributed systems in process scheduling and product configuration. He is the author of multiple O'Reilly titles including Building Web Services with Java and Java Web Services: Up and Running.

Table of contents

  1. Introduction
    1. Overview Of Functional Programming In Java
    2. About Me
  2. The Basics: Lambda Functions, Method References, And Constructor References
    1. Introduction To Lambdas: A First Code Example
    2. Lambda Exercise: What Will The Java Compiler Accept In The First Code Example?
    3. Lambda Exercise Assessment
    4. Lambdas As Arguments In Higher-Order Functions
    5. Cleaner Java Code Through Lambdas: An Event-Handling Example
    6. Cleaner Java Code Through Lambdas: A Sorting Example
    7. Wrapup Of Lambda Basics
    8. Method And Constructor References
    9. Wrapup Of Java's New 'Functional Programming' Constructs
  3. Functional Programming And The Streams API
    1. What Are Streams And Why Are They So Conducive To Functional Programming?
    2. Short Code Examples With Streams
    3. Code Examples To Reduce, Collect, And Group Streamed Data
    4. An Exercise Using The Treemap
    5. Assessment Of The Treemap Exercise
    6. Parallel Streams In Functional Programming
    7. Overview Of The Map/Reduce Programming Model
    8. A Map/Reduce Code Example
    9. Predicates And Streams
    10. Wrapup Of Functional Programming With Streams
    11. A Code Review Of Functional Programming With Streams
  4. Richer Code Examples
    1. Overview Of The Customer Application
    2. Analysis Of The Customer Application Code 1
    3. Analysis Of The Customer Application Code 2
    4. An Exercise Using Filters And Collectors
    5. Assessment Of The Filters/Collectors Exercise
    6. More On Functional Interfaces
    7. A Code Example For The Bifunction Interface
    8. The Supplier And Consumer Interfaces
    9. The Message Application: Suppliers, Consumers, And Object Factories
    10. Composing Functions: The Compose And Andthen Methods
    11. Wrapup Of Functional Interfaces
  5. Selected Advanced Features
    1. Is A Java Lambda A 'Closure'?
    2. A Code Example For Lambdas As Closures
    3. Currying With Lambdas
    4. Imperative And Functional Programming Styles
    5. A Code Example To Contrast Imperative And Functional Programming
  6. Conclusion
    1. Wrapup

Product information

  • Title: Functional Programming in Java 8
  • Author(s): Martin Kalin
  • Release date: July 2016
  • Publisher(s): Infinite Skills
  • ISBN: 9781491969724