-
Functional Programming is an old paradigm, but one that is relatively new to the Java world. In this course we will explore how to take advantage of the power that comes with thinking declaratively.
What you'll learn- Imperative vs. Declarative Syntax
- Lambdas & Method References
- Streams
- Functional Programming concepts
- Higher Order Functions and Closures
-
Java's Functional Toolset
Java 8 introduced new Functional Programming capabilities. Let's explore them!
13 steps- Introduction
5:08
- Why Now?
4:56
- Imperative vs. Declarative
7:47
- Imperative vs. Declarative
3 questions
- A More Functional Loop
5:46
- Lambdas
5:36
- Using forEach
5 minutes
- Method References
5:21
- Using method references
5 minutes
- Function Shapes
9:31
- Supplier and Consumer
2 questions
- Function Shapes - Function and Predicate
4:36
- Function Shape Review
4 questions
Let's explore the Streams API which provides powerful declarative ways to process sequences of elements.
10 steps- Understanding Streams
4:56
- Setting Up the Project
2:33
- Filtering
9:36
- Filtering High Scores
10 minutes
- Collecting and Limiting
11:16
- Collecting 3 NES Scores
10 minutes
- Transforming With Map
9:29
- Mapping Player's Names
10 minutes
- flatMap
12:18
- Creating a Word Cloud
10 minutes
Reduce, aggregate and use ranges!
7 steps- Reduction Operations
7:25
- Reduce Housing Records
15 minutes
- Optionals
9:56
- Optional Quiz...Homonym Fail, it is Required
3 questions
- Ranges
6:11
- Using a Range to Produce a Menu
15 minutes
- Infinite Streams
4:29
Now that you've had some hands on experience, let's review some of important functional programming concepts with broader strokes.
10 steps- Pure Functions
4:06
- Side Effects
4:45
- Keeping Things Pure
3 questions
- Higher Order Functions
8:22
- Higher Order Function
2 questions
- Function Composition
8:36
- Compose Price Conversion Functions
20 minutes
- Closures
9:15
- Functionally Over
1:48
- Higher Order Function for Price Conversion
20 minutes
- Introduction