在Java中,Stream().filter()是一個中間操作,用于篩選滿足特定條件的元素,并生成一個新的流。它接受一個Predicate函數式接口作為參數,該接口定義了一個用于判斷元素是否滿足條件的方法。filter()方法會遍歷流中的每個元素,對每個元素應用Predicate接口的test()方法,如果返回true,則將該元素包含在新的流中,否則不包含。
filter()方法可以用于對集合或數組中的元素進行篩選,只保留滿足特定條件的元素。例如,以下代碼片段演示了如何使用filter()方法篩選出一個整數流中的偶數:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 輸出 [2, 4, 6, 8, 10]
在上述例子中,我們首先將整數集合轉換為流,然后使用filter()方法篩選出符合條件(即能被2整除)的元素,最后使用collect()方法將結果收集到一個新的List中。最終輸出的結果是一個包含所有偶數的列表 [2, 4, 6, 8, 10]。