O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Java 9 - Functional Programming

Video Description

Learn functional programming with JAVA 9, through examples containing generic data

About This Video

  • A tutorial that strengthens your basic functional programming techniques to enhance your applications
  • Use lambda expressions to write flexible and succinct code
  • Explore how you can blend object-oriented and functional programming styles in Java

In Detail

Functional programming is a programming paradigm, and it's all about programming with functions! But this doesn't explain the most important aspect: how FP is different from other paradigms, and what makes it a (potentially) better way to write programs. The paradigm makes programs easier to reason with because they're deterministic, since one specific input will always give you the same output.

To kick-start this learning experience, we explain the use of generic data structures in Java, along with a number of practical examples, such as implementing a Pair class, and using a generic comparator function to sort a list of generic objects with an explanation of the need for generics, followed by practical use cases. Moving on from generics to functional programming, we explain the use of generic functions in Java, along with some common usage patterns. To conclude, we discuss what functional programming is, and the benefits we can get from using it, before moving on to a couple real-life examples. We start with a simple list of data points, before using a traditional for loop to first filter, sort, manipulate, and then finally reduce the list of data points. We will then write a similar example using functional programming, providing a perfect example of some of the benefits it provides when working with data sets.

This course will teach you one of the most powerful elements of the Java programming language, to help you start writing programs by coding the base functions needed and combining these functions into higher-level ones, repeating the process until you have a "single function" corresponding to the program you're building. Given their transparency, they can be reused to build other programs without any modifications, which saves time and allows you to focus on the further development of your project. From learning how to write more readable functional code, to processing discrete data sets using the stream interface and then writing your own Lambdas, this course has it all!

All the code and supporting files for this course are available on Github at - https://github.com/PacktPublishing/Learning-Java-9---Functional-Programming-v-