1. Introducing Functional Programming
The course overview
()
Installation and setup
()
What is functional programming?
()
Interfaces get a boost
()
Some interfaces are more functional than others
()
2. Lambda Expressions
Writing your first lambda expression
()
Typing lambda expressions
()
Capturing values
()
Method references
()
3. Functional Interfaces
Pre-existing functional interfaces
()
New functional interfaces
()
Functional interfaces for primitive types
()
Composing functions
()
4. Sequential Data Processing with Streams
Comparing streams, collections, and iterators
()
Creating a stream
()
Understanding lazy evaluation
()
Streams as monads
()
5. Stream Operations
Filtering stream elements
()
Transforming and rearranging stream elements
()
Basic terminal operations
()
Reductions and collectors
()
Streams of primitive types
()
6. Parallel Streams
Recognizing and avoiding statefulness and side effects
()
Using parallel streams
()
Looking under the hood: The fork/join framework
()
7. Functional Exercise
2D collision detection
()
Two-phase collision detection
()
Ex_Files_Programming_Streams_Java9.zip
(184 KB)