-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathPredicateEx2.java
More file actions
29 lines (21 loc) · 825 Bytes
/
PredicateEx2.java
File metadata and controls
29 lines (21 loc) · 825 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.zetcode;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class PredicateEx2 {
public static void main(String args[]) {
List<Integer> list = List.of(1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12);
List<Integer> all = eval(list, n -> true);
System.out.println(all);
List<Integer> evenValues = eval(list, n -> n % 2 == 0);
System.out.println(evenValues);
List<Integer> greaterThanSix = eval(list, n -> n > 6);
System.out.println(greaterThanSix);
}
private static List<Integer> eval(List<Integer> values,
Predicate<Integer> predicate) {
return values.stream().filter(predicate)
.collect(Collectors.toList());
}
}