Java 8 example Streams filter

Before Java8


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class BeforeJava8 {

public static void main(String[] args) {

List lines = Arrays.asList("spring", "node", "java7");
List result = getFilterOutput(lines, "java7");
for (String temp : result) {
System.out.println(temp); //output : spring, node
}

}

private static List getFilterOutput(List lines, String filter) {
List result = new ArrayList<>();
for (String line : lines) {
if (!"java7".equals(line)) { // we dont like java7
result.add(line);
}
}
return result;
}

}

Output


spring
node

The equivalent example in Java 8, stream.filter() to filter a List, and collect() to convert a stream into a List


import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class NowJava8 {

public static void main(String[] args) {

List lines = Arrays.asList("spring", "node", "java7");

List result = lines.stream() // convert list to stream
.filter(line -> !"java7".equals(line)) // we dont like java7
.collect(Collectors.toList()); // collect the output and convert streams to a List

result.forEach(System.out::println); //output : spring, node

}

}
Output


spring
node