Functional Programming with Streams in Java 9 – Teaching Functional Programming with Streams in Java 9
Java 8 introduces a wealth of new features, pushing Java towards a so-called functional programming paradigm. Benefits from this shift include the succinctness and ease of developing robust multi-threaded applications.
In this course, we will introduce the key functional features of Java 8 and 9, and explain how they can be used to write code that is more expressive and easily correlated to parallelization.
Specifically, we will first discuss lambda functions and functional interfaces. Using these features, programmers can easily create objects that offer a single specific service, similarly to anonymous classes. We will also explore the predefined functional interfaces that can be found in the Java API, starting with well-known pre-existing ones like Comparator and Runnable.
Requiring the full benefits of lambda functions requires employing them with streams, a new kind of collection with built-in parallelization support. We will examine the relationship between streams and collections, and how the latter has changed as a result of the new language features.
Finally, after mastering the key features of streams, we will consider details related to parallel execution, such as the crucial concept of side effect and the fork-join implementation model.
Table of Contents:
-1 Introducing Functional Programming
-2 Lambda Expressions
-3 Stream Operations
-4 Sequential Data Processing with Streams
-5 Stream Operations
-6 Parallel Streams
-7 Functional Exercise
Manufacturer: Pakkt Publishing
Language of instruction: English
Teacher: Marco Faella
Level of training: Elementary, Secondary
Time of training: 5 hours +
File size: 680 MB