Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Filtering collections with complex conditions


We can use our new repository to restrict the results retrieved from complex data. We can combine a call to the getAll method with stream, filter, and collect to generate a Stream<MobileGame>, apply a filter with a lambda expression as an argument, and call the collect method with Collectors.toList() as an argument to generate a filtered List<MobileGame> from the filtered Stream<MobileGame>. The filter method receives a Predicate<MobileGame> as an argument that we generate with a lambda expression and we apply the filter to the Stream<MobileGame>. The filter method returns the stream of the elements of the input stream that matches the specified predicate. The method returns a stream with all the elements for whom the Predicate<MobileGame> evaluates to true.

Note

The next lines show code snippets that use multiple lines, won't work in JShell, but will make it easier to read and understand the code. If we want...