Functional Programming with Java

Functional Programming with Java

2h 29mAdvanced2023-12-12

Authors

Shaun Wassell

Shaun Wassell

Full-Stack Software Developer

Course details

Functional programming is a way of organizing code that makes applications more scalable and maintainable. By utilizing the core concepts of immutability, data-function separation, and first-class functions, programmers can write better code. In this course, learn about the functional programming paradigm and see how to take advantage of it with Java and object-oriented programming. Apply the learnings to real-world code and examine some of the more advanced and misunderstood concepts—such as partial-application, recursion, and composition—to become skilled in developing flexible code.

Skills covered

JavaProgramming FoundationsOracleProgramming LanguagesSoftware DevelopmentDeep Dive (X:Y)

Concepts

Introduction

  • Functional programming - A new way to organize code
  • What you should know

Introduction to Functional Programming

  • Why use functional programming
  • What is declarative programming
  • Immutability in functional programming
  • Functional purity
  • First-class functions

First-Class Functions

  • The function interface
  • Lambda expressions
  • BiFunctions and beyond
  • Functions as data
  • Passing functions as arguments
  • Returning functions
  • Closure
  • Higher-order functions

Working with Streams in Java

  • Map in Java
  • Filter in Java
  • Reduce in Java
  • Collect in Java
  • Challenge - Stream exercises
  • Solution - Stream exercises
  • Combine list functions
  • Parallel streams
  • Challenge - Average salary calculator
  • Solution - Average salary calculator

Advanced Concepts

  • Advanced functional concepts
  • Partial application and currying
  • Recursion
  • Composition
  • Challenge - Recursion
  • Solution - Recursion
80,000 Toman