Functional Programming with Streams in Java 9 [Video]

Preview in Mapt

Functional Programming with Streams in Java 9 [Video]

Marco Faella

Improve your Java 9 programs using Functional techniques

Quick links: > What will you learn?> Table of content

Mapt Subscription
FREE
$29.99/m after trial
Video
$25.00
RRP $124.99
Save 79%
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$25.00
$29.99 p/m after trial
RRP $124.99
Subscription
Video
Start 14 Day Trial

Frequently bought together


Functional Programming with Streams in Java 9 [Video] Book Cover
Functional Programming with Streams in Java 9 [Video]
$ 124.99
$ 25.00
Learning Java 9 – Object Oriented Programming [Video] Book Cover
Learning Java 9 – Object Oriented Programming [Video]
$ 124.99
$ 25.00
Buy 2 for $35.00
Save $214.98
Add to Cart

Video Details

ISBN 139781787283060
Course Length5 hours 03 minutes

Video Description

Java 8 introduced a wealth of new features, pushing Java towards the so-called functional programming paradigm. Benefits from this shift include 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 amenable 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 from well-known pre-existing ones like Comparator and Runnable.

Reaping 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 have changed as a result of the new language features.

Finally, after having mastered the key features of streams, we will consider the details related to parallel execution, such as the crucial notion of side-effect and the fork-join execution model.

Table of Contents

Introducing Functional Programming
The Course Overview
Installation and Setup
What Is Functional Programming?
Interfaces get a Boost
Some Interfaces are More Functional Than Others
Lambda Expressions
Writing Your First Lambda Expression
Typing Lambda Expressions
Capturing Values
Method References
Stream Operations
Pre-Existing Functional Interfaces
New Functional Interfaces
Functional Interfaces for Primitive Types
Composing Functions
Sequential Data Processing with Streams
Comparing Streams, Collections, and Iterators
Creating a Stream
Understanding Lazy Evaluation
Streams as Monads
Stream Operations
Filtering Stream Elements
Transforming and Rearranging Stream Elements
Basic Terminal Operations
Reductions and Collectors
Streams of Primitive Types
Parallel Streams
Recognizing and Avoiding Statefulness and Side Effects
Using Parallel Streams
Looking Under the Hood: The fork-join framework
Functional Exercise
2D Collision Detection
Two-Phase Collision Detection

What You Will Learn

  • Understanding the principles of functional programming and how they contribute to safe parallelism
  • Understanding the new features of Java interfaces, including the notion of functional interface
  • Using lambda expressions and functional interfaces, as a lean alternative to anonymous classes 
  • Using streams to perform computations on sequences of data
  • Using streams to seamlessly perform parallel computations with the Java 9 SDK

Authors

Table of Contents

Introducing Functional Programming
The Course Overview
Installation and Setup
What Is Functional Programming?
Interfaces get a Boost
Some Interfaces are More Functional Than Others
Lambda Expressions
Writing Your First Lambda Expression
Typing Lambda Expressions
Capturing Values
Method References
Stream Operations
Pre-Existing Functional Interfaces
New Functional Interfaces
Functional Interfaces for Primitive Types
Composing Functions
Sequential Data Processing with Streams
Comparing Streams, Collections, and Iterators
Creating a Stream
Understanding Lazy Evaluation
Streams as Monads
Stream Operations
Filtering Stream Elements
Transforming and Rearranging Stream Elements
Basic Terminal Operations
Reductions and Collectors
Streams of Primitive Types
Parallel Streams
Recognizing and Avoiding Statefulness and Side Effects
Using Parallel Streams
Looking Under the Hood: The fork-join framework
Functional Exercise
2D Collision Detection
Two-Phase Collision Detection

Video Details

ISBN 139781787283060
Course Length5 hours 03 minutes
Read More

Read More Reviews

Recommended for You

Learning Java 9 – Object Oriented Programming [Video] Book Cover
Learning Java 9 – Object Oriented Programming [Video]
$ 124.99
$ 25.00
Mastering Clean Code in JavaScript [Video] Book Cover
Mastering Clean Code in JavaScript [Video]
$ 124.99
$ 25.00
Scalable Java 9 for the Connected Web [Video] Book Cover
Scalable Java 9 for the Connected Web [Video]
$ 124.99
$ 25.00
Data Structures in JavaScript [Video] Book Cover
Data Structures in JavaScript [Video]
$ 49.99
$ 10.00
Working with Big Data in Python [Video] Book Cover
Working with Big Data in Python [Video]
$ 124.99
$ 25.00
Jenkins: continuous integration & DevOps with Java and .NET [Video] Book Cover
Jenkins: continuous integration & DevOps with Java and .NET [Video]
$ 93.99
$ 18.80