InformIT - Java 8: Lambda Expressions and Streams LiveLessons
English | AVC (.mp4) 1280x720 25fps | AAC 44.1KHz 2ch | 3 hrs 29 mins | 1.25 Gb
Java 8: Lambda Expressions and Streams covers the most important new features introduced in Java 8. It is presented by Marty Hall, bestselling author, world-renowned instructor, and president of the training company coreservlets.com. This LiveLesson explains the syntax and usage of Java 8 lambda expressions, shows the prebuilt functions, covers streams thoroughly, and gives examples of the types of applications to which lambdas and streams are well suited.
Streams are wrappers around arrays, collections, or other data sources that use lambdas pervasively. They support many convenient and high-performance operations that use lambdas, including "map", "reduce", "filter", and "forEach". They also support lazy evaluation, so if you map firstName over a Stream of Employees, filter the ones that start with "P", then choose the first, it really only maps and filters until the first match. Streams can also be made parallel automatically, so that the operations are done in parallel without having to write any explicit multithreading code.
Lambdas don't exactly turn Java into Lisp, and streams don't exactly turn Java SE into Hadoop. Nevertheless, they provide significant new capabilities to Java, and taken together, lambdas and streams result in by far the biggest change in Java programming style since at least 2004, when generics and annotations were added to the language.
Skill Level: Intermediate to advanced
Who Should Take This Course?: Experienced Java developers who need to learn about the new features introduced in Java SE 8
What You Will Learn:
* How to use the most important features of Java 8: lambda expressions and streams.
* Technologies that support lambdas: method references, lambda building blocks in the java.util.function package, effectively-final local variables, the @FunctionalInterface annotation, and higher-order functions.
* Stream methods: forEach, map, filter, reduce, etc.
* Infinite (unbounded) streams
* Parallel streams.
* Lazy evaluation and short-circuit stream operations.
* Supporting Java 8 features: interfaces with concrete methods and the Optional class.
Course Requirements: This LiveLesson assumes that you have moderate to strong Java experience. It covers only the new features of the language that are added in Java 8. However, no previous experience with functional programming is required.