在Java中,stream().filter()是一個用于過濾流中元素的方法。它接受一個謂詞(Predicate)作為參數,通過對流中的每個元素應用謂詞來確定是否保留該元素。
使用stream().filter()方法,可以根據特定條件篩選出符合條件的元素,返回一個新的流。只有在謂詞返回true的情況下,元素才會被保留在新的流中。例如:
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
判斷是否為偶數。
filter()方法可以與其他流操作方法(如map()、reduce()等)結合使用,以進行更復雜的數據處理。它是Java 8引入的Stream API中的一個常用方法,能夠簡化代碼并提高代碼的可讀性。