为了否定现有谓词,在Java 11中添加了Predicate.not()静态方法。Predicate类位于java.util.function包中。
用法:
negate = Predicate.not( positivePredicate );
参数:
- 要求否定的谓词
返回类型:返回类型not()的方法为谓词。
方法:
- 创建一个谓词并为其初始化条件。
- 创建另一个谓词以创建求反,并使用not()方法对其进行分配。
下面是上述方法的实现:
Java
// Implementation of Predicate.not() method in Java
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class GFG {
public static void main(String[] args)
{
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());
// Print the Lists
System.out.println(evenNumbers);
System.out.println(oddNumbers);
}
}
输出:
[2, 4, 6, 8, 10] [1, 3, 5, 7, 9]
注意读者!现在不要停止学习。以student-friendly的价格获得Java和Java集合基础知识课程中所有重要的Java Foundation和Collections概念,并为行业做好准备。
相关用法
- Java Java.util.Collections.rotate()用法及代码示例
- Java Java.util.Collections.disjoint()用法及代码示例
- Java Java lang.Long.lowestOneBit()用法及代码示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代码示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代码示例
- Java Java lang.Long.highestOneBit()用法及代码示例
- Java Java lang.Long.byteValue()用法及代码示例
- Java Java lang.Long.reverse()用法及代码示例
- Java Clock tickMinutes()用法及代码示例
- Java Clock withZone()用法及代码示例
- Java Java.util.Collections.frequency()用法及代码示例
- Java Java.util.Arrays.equals()用法及代码示例
注:本文由纯净天空筛选整理自KapilChhipa大神的英文原创作品 Predicate.not() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。