Predicate negate求反返回predicate ,该predicate表示给定谓词的逻辑否定 。 否定谓词返回流中被原始谓词过滤掉的所有元素。
1. Java predicate negate() method
logical negation 。
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
List list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Predicate isEven = i -> i % 2 == 0;
Predicate isOdd = isEven.negate();
List evenNumbers = list.stream()
.filter(isEven)
.collect(Collectors.toList());
List oddNumbers = list.stream()
.filter(isOdd)
.collect(Collectors.toList());
System.out.println(evenNumbers);
System.out.println(oddNumbers);
}
}
Program output.[2, 4, 6, 8, 10]
[1, 3, 5, 7, 9]
2. Java predicate not() method
在Java 11中, Predicate类具有新方法predicate.negate()结果来完成的。import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
List list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Predicate isEven = i -> i % 2 == 0;
Predicate isOdd = Predicate.not( isEven );
List evenNumbers = list.stream()
.filter(isEven)
.collect(Collectors.toList());
List oddNumbers = list.stream()
.filter(isOdd)
.collect(Collectors.toList());
System.out.println(evenNumbers);
System.out.println(oddNumbers);
}
}
Program output.[2, 4, 6, 8, 10]
[1, 3, 5, 7, 9]
请问您有关Java流谓词否定示例的问题 。