Functional Programming with Streams in Java 9
Course
Online
Description
-
Type
Course
-
Methodology
Online
-
Start date
Different dates available
Improve your Java 9 programs using functional techniques.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 in developing robust, multi-threaded applications. In this course, we 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 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, similar 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 such as 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 explore the details of parallel execution, such as the crucial notion of side-effects and the fork-join execution model.About the Author
.
Marco Faella is a professor of Computer Science at the University of Naples "Federico II", Italy. He has taught classes on Java programming, compiler construction, and software engineering to undergraduate and graduate students since 2005. He is the author of over 50 scientific publications in international conferences and journals. He has also developed scientific software in C++, OCaml, Python, and Java. Marco is fluent in C, C++, OCaml, Python, and Java and has contributed to the Parma Polyhedra Library, a well-known scientific library for the symbolic manipulation of polyhedra
Facilities
Location
Start date
Start date
About this course
Understand the principles of functional programming and how they contribute to safe parallelism
Understand the new features of Java interfaces, including the notion of the functional interface
Use lambda expressions and functional interfaces as a lean alternative to anonymous classes
Use streams to perform computations on sequences of data
Use streams to seamlessly perform parallel computations with the Java 9 SDK
Using streams to perform computations on sequences of data
Using streams to seamlessly perform parallel computations with the Java 9 SDK
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 4 years
Subjects
- Benefits
- Java API
- Java
- Installation
- Calculus
- Programming
- Install
- Programming Application
- Information Systems
- Information Systems management
Course programme
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- Download Java SE JDK
- Install Java SE JDK
- Download and install Eclipse IDE
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- The origins of functional programming trace back to lambda-calculus
- The whole program is a mathematical function
- Functions are stateless and use no variables
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Interfaces can have default and static methods
- Interfaces can carry behaviour but not state
- The Comparator interface features default and static methods
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Functional interfaces have a single abstract method
- The API contains over 40 functional interfaces
- The @FunctionalInterface annotation identifies pure functional interfaces
- Lambda expressions are characterized by the new “arrow” notation
- Some anonymous classes can be replaced by lambda expressions
- Parameter types of lambda expressions can often be omitted
- The compiler fills in missing types using type inference
- Type inference can derive parameter types for lambda expressions
- Lambda expressions can appear where a functional interface is expected
- Lambda expressions can access variables from the enclosing scopes
- Captured local variables must be effectively final
- Lambda expressions are instantiated only when necessary
- A method reference is an expression denoting a method
- Method references can be used in place of lambda expressions
- Method references bridge existing methods with functional interfaces
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 7 has several common functional interfaces
- Functional interfaces pertain to threads, GUIs, and object sorting
- Comparator is a notable pure functional interface
- Java 8 features a new package with more than 40 functional interface
- New functional interfaces cover all common function types
- Special versions of such interfaces are devoted to primitive types
- Java 8 features a new package with more than 40 functional interface
- New functional interfaces cover all common function types
- Special versions of such interfaces are devoted to primitive types
- Java 8 features a new package with more than 40 functional interface
- New functional interfaces cover all common function types
- Special versions of such interfaces are devoted to primitive types
Additional information
Functional Programming with Streams in Java 9