在Java中,filter
函數是Stream API中的一個操作方法,用于根據指定的條件過濾集合中的元素。它接受一個Predicate函數式接口作為參數,用于定義過濾條件。
filter
函數會對集合中的每個元素進行判斷,如果滿足Predicate函數式接口中定義的條件,則保留該元素,否則將其排除。返回的結果是一個新的Stream對象,其中只包含滿足條件的元素。
以下是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
函數篩選出numbers集合中的偶數。n -> n % 2 == 0
是一個Lambda表達式,用于定義判斷條件,即判斷元素是否是偶數。最終,我們通過collect
方法將滿足條件的元素收集到一個新的List集合中。
需要注意的是,filter
函數只是對原始集合中的元素進行篩選,不會對原始集合做出任何修改。如果需要修改原始集合,可以使用其他操作方法,如forEach
、map
等。