java predicate類的用法是什么

小億
183
2023-12-14 16:02:41
欄目: 編程語言

Predicate 類是 Java 提供的一個(gè)函數(shù)式接口,用于定義一個(gè)接受一個(gè)參數(shù)并返回一個(gè)布爾值的函數(shù)。它通常用于對(duì)集合中的元素進(jìn)行過濾、篩選或判斷。

Predicate 接口中包含一個(gè)抽象方法 test(Object obj),用于接收一個(gè)參數(shù)并返回一個(gè)布爾值。根據(jù)這個(gè)布爾值,可以判斷該參數(shù)是否滿足某個(gè)條件。

Predicate 接口還包含了一些默認(rèn)方法,可以用于組合多個(gè) Predicate 對(duì)象,例如:

  • and(Predicate other):返回一個(gè)新的 Predicate,表示當(dāng)前 Predicate 和另一個(gè) Predicate 的邏輯與操作。
  • or(Predicate other):返回一個(gè)新的 Predicate,表示當(dāng)前 Predicate 和另一個(gè) Predicate 的邏輯或操作。
  • negate():返回一個(gè)新的 Predicate,表示當(dāng)前 Predicate 的邏輯非操作。

使用 Predicate 類可以簡(jiǎn)化集合的過濾操作,例如過濾出滿足某個(gè)條件的元素:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Predicate<Integer> evenPredicate = num -> num % 2 == 0;

List<Integer> evenNumbers = numbers.stream()
                                   .filter(evenPredicate)
                                   .collect(Collectors.toList());

System.out.println(evenNumbers); // 輸出 [2, 4, 6, 8, 10]

在上述代碼中,使用 Predicate 對(duì)象 evenPredicate 過濾出了集合中的偶數(shù)元素。

總之,Predicate 類的主要用途是對(duì)集合中的元素進(jìn)行條件判斷,用于過濾、篩選或判斷元素是否滿足某個(gè)條件。

0