-
Book Overview & Buying
-
Table Of Contents
Java 9 with JShell
By :
The preceding code that declared the filterNumbersWithFunction method represents an imperative version of array filtering with an external for loop. We can use the filter method available for a Stream<T> object, in this case, a Stream<Integer> object, and achieve the same goal with a functional approach.
The next lines use a functional approach to generate a List<Integer> with the numbers included in the List<Integer> range1to20 that are divisible by 3. The code file for the sample is included in the java_9_oop_chapter_12_01 folder, in the example12_04.java file.
List<Integer> divisibleBy3Numbers2 = range1to20.stream().filter(n -> n % 3 == 0).collect(Collectors.toList());
If we want the previous code to run in JShell, we must enter all the code in a single line, which wouldn't be necessary for the Java compiler to successfully compile the code. It is a specific problem with JShell, streams, and lambda expression...