首頁 > Java > java教程 > 主體

Java Stream API Filter(過濾器)

PHPz
發布: 2023-08-29 16:05:06
轉載
1532 人瀏覽過

Java Stream API Filter(过滤器)

透過滿足指定謂詞的流中的項目所組成的流將由流過濾函數傳回。這是一個中間級操作。這些操作總是懶惰的,即運行過濾函數或其他中間操作實際上並不過濾任何內容;相反,它產生一個新的流,當遍歷時,包括滿足提供的謂詞的初始流的項目。

文法

Stream<T> filter(Predicate<? super T> predicate)
登入後複製

當T是謂詞輸入的類型,且stream是介面。

回傳類型

A new stream.

實作

  • Eliminating items that may be divided into a range of numbers from 0 to 10.

  • 在特定索引處刪除以大寫字母開頭的條目。

  • 刪除以特定字母結尾的元件。

Example 1: filter() method with the operation of filtering the elements which are divisible by 5

// Java Program to get a Stream Consisting of the Elements

import java.util.*;
public class Example {
   public static void main(String[] args){
      List<Integer> list = Arrays.asList(3, 4, 6, 12, 20);
      list.stream()
         .filter(num -> num % 5 == 0)
         .forEach(System.out::println);
   }
}
登入後複製

Output

#
20
登入後複製

範例2:使用filter()方法過濾索引1處有大寫字母的元素

// Java Program to Get Stream Consisting of Elements

import java.util.stream.Stream;
public class Example  {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("class", "FOR", "QUIZ", "waytoclass");
      stream.filter(str -> Character.isUpperCase(str.charAt(1)))
         .forEach(System.out::println);
   }
}
登入後複製

Output

#
FOR
QUIZ
登入後複製

Example 3: filter() method with the operation of filtering the element ending with customs alphabetically letter

#
// Java Program to Get a Stream Consisting of Elements
import java.util.stream.Stream;
public class Example {

   public static void main(String[] args){
      Stream<String> stream = Stream.of("Class", "FOR", "Quiz", "WaytoClass");
      stream.filter(str -> str.endsWith("s"))
      .forEach(System.out::println);
   }
}
登入後複製

Output

#
Class
WaytoClass
登入後複製

Conclusion

改善我們的Java程式碼功能的一種方法是利用filter()方法。與強製或方法論相反。然而,在使用filter()函數時需要記住一些事情。

例如,將多個過濾器方法連結在一起可能會導致程式碼運行緩慢。這是因為可能會建立一個滿足謂詞條件的元素的新流作為中間操作。因此,減少filter()呼叫次數的關鍵是將謂詞合併成一個句子。

以上是Java Stream API Filter(過濾器)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!