首頁> Java> java教程> 主體

Java 8中的Stream API:如何使用filter()方法篩選集合中的元素

WBOY
發布: 2023-08-01 08:43:48
原創
3338 人瀏覽過

Java 8中的Stream API:如何使用filter()方法篩選集合中的元素

引言:
Java 8引入了Stream API,這為我們處理集合提供了一種更簡潔、更有效率的方式。 Stream是Java 8提供的新的抽象層,它允許我們以一種函數式程式設計的方式來處理各種資料。在Stream API中,filter()方法是其中一個非常有用的方法,它可以用來篩選集合中的元素。在本篇文章中,我們將深入了解filter()方法,並探索它的用法和範例。

一、什麼是filter()方法
filter()方法是Stream API中的一個中間操作方法。它接收一個Predicate函數式介面作為參數,用來篩選集合中的元素。 Predicate介面定義了一個test(T t)方法,用於對給定的參數進行條件判斷,並傳回一個布林值。 filter()方法將集合中的每個元素作為參數傳遞給Predicate的test()方法,如果傳回true,則該元素被保留下來,否則被捨棄。

二、如何使用filter()方法
要使用filter()方法,首先需要先建立一個集合,然後轉換為Stream。然後呼叫filter()方法並使用Predicate函數式介面作為參數。 filter()方法將會傳回一個新的Stream,其中包含符合條件的元素。最後,透過使用終端操作方法來處理這個新的Stream。

下面是一個範例程式碼,展示了filter()方法的使用:

import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class FilterExample { public static void main(String[] args) { List numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); // 使用filter()方法筛选偶数 List evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println("偶数列表:" + evenNumbers); } }
登入後複製

在上面的範例中,我們先建立一個List 對象,並加入了一些數字。然後我們將這個List物件轉換為Stream對象,並使用filter()方法來篩選出其中的偶數。在filter()方法的參數中,我們使用了Lambda表達式 n -> n % 2 == 0 來判斷數字是否為偶數。最後,我們使用collect()方法將篩選後的結果轉換為List對象,並將其列印出來。

輸出結果為:"偶數列表:[2, 4]"

三、filter()方法的應用場景
filter()方法在實際的開發中有很多應用場景。以下列舉了一些常見的場景:

  1. 篩選出符合某個條件的元素。例如,從一個學生列表中篩選出所有年齡大於18歲的學生。
List adults = students.stream() .filter(s -> s.getAge() > 18) .collect(Collectors.toList());
登入後複製
  1. 篩選出某個範圍的元素。例如,從一個數字列表中篩選出所有大於等於10且小於等於20的數字。
List range = numbers.stream() .filter(n -> n >= 10 && n <= 20) .collect(Collectors.toList());
登入後複製
  1. 篩選出非空元素。例如,從一個字串列表中篩選出所有非空字串。
List nonEmptyStrings = strings.stream() .filter(s -> s != null && !s.isEmpty()) .collect(Collectors.toList());
登入後複製

總結:
filter()方法是Stream API中的一個非常常用的方法,它可以幫助我們有效率地篩選集合中的元素。透過使用filter()方法,我們可以使用一種簡潔、優雅的方式來處理資料。希望本文對你理解filter()方法的使用有所幫助,並能在實際專案中靈活運用。

以上是Java 8中的Stream API:如何使用filter()方法篩選集合中的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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