Intro Java Predicate Not Example

Intro Java Predicate Not Example

這篇介紹Java Predicate Not Example。

Example

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
In order to negate an existing predicate, the Predicate.not() static method added to Java 11.
The Predicate class is present in java.util.function package.

你可以使用
// invert a Predicate, will be even shorter with static import
collection.stream()
.filter(Predicate.not(MyObject::isEmpty))
.collect(Collectors.toList());

使用Predicate 來產生偶數、奇數集合的範例
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// creating a predicate for negation
Predicate<Integer> even = i -> i % 2 == 0;

// creating a predicate object which
// is negation os supplied predicate
Predicate<Integer> odd = Predicate.not(even);

// filtering the even number using even predicate
List<Integer> evenNumbers
= list.stream().filter(even).collect(
Collectors.toList());

// filtering the odd number using odd predicate
List<Integer> oddNumbers
= list.stream().filter(odd).collect(
Collectors.toList());