Functional Programming with Streams in Java 9 [Video]

Preview in Mapt

Functional Programming with Streams in Java 9 [Video]

Marco Faella

1 customer reviews
Improve your Java 9 programs using Functional techniques
Mapt Subscription
FREE
$20.83/m after trial
Video
$106.25
RRP $124.99
Save 14%
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
$106.25
$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
$ 106.25
Hands-On Enterprise Application Development with Java 9 [Video] Book Cover
Hands-On Enterprise Application Development with Java 9 [Video]
$ 124.99
$ 106.25
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
From 1 reviews

Read More Reviews

Recommended for You

Hands-On Enterprise Application Development with Java 9 [Video] Book Cover
Hands-On Enterprise Application Development with Java 9 [Video]
$ 124.99
$ 106.25
Selenium WebDriver With Java - Novice To Ninja plus Interview [Video] Book Cover
Selenium WebDriver With Java - Novice To Ninja plus Interview [Video]
$ 201.99
$ 171.70
Cucumber with Java Build Automation Framework in Less Code [Video] Book Cover
Cucumber with Java Build Automation Framework in Less Code [Video]
$ 195.99
$ 166.60
Learning Java 9 - Functional Programming [Video] Book Cover
Learning Java 9 - Functional Programming [Video]
$ 124.99
$ 106.25
Effective Jenkins: Improving Quality in the Delivery Pipeline with Jenkins [Video] Book Cover
Effective Jenkins: Improving Quality in the Delivery Pipeline with Jenkins [Video]
$ 124.99
$ 106.25
JavaScript (and jQuery) in 7 Days [Video] Book Cover
JavaScript (and jQuery) in 7 Days [Video]
$ 124.99
$ 106.25