為了否定現有謂詞,在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()用法及代碼示例
- Java Java.util.concurrent.RecursiveAction用法及代碼示例
- Java Java.util.concurrent.Phaser用法及代碼示例
注:本文由純淨天空篩選整理自KapilChhipa大神的英文原創作品 Predicate.not() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。