कलेक्टर क्लास स्ट्रीम . का एक अनिवार्य हिस्सा है एपीआई . Java 9 में, एक नई विधि:फ़िल्टरिंग () कलेक्टर . में जोड़ा गया कक्षा। कलेक्टर.फ़िल्टरिंग () एक धारा में तत्वों को छानने के लिए विधि का उपयोग किया जा सकता है। यह फ़िल्टर () . के समान है धाराओं पर विधि। फ़िल्टर () विधि मानों को समूहबद्ध करने से पहले संसाधित करती है जबकि फ़िल्टरिंग () विधि का उपयोग कलेक्टर.ग्रुपिंगबाय () . के साथ अच्छी तरह से किया जा सकता है फ़िल्टरिंग चरण होने से पहले मानों को समूहबद्ध करने की विधि।
सिंटैक्स
public static <T, A, R> Collector<T, ?, R> filtering(Predicate<? super T> predicate, Collector<? super T, A, R> downstream)
उदाहरण
import java.util.stream.*;
import java.util.*;
public class FilteringMethodTest {
public static void main(String args[]) {
List<String> list = List.of("x", "yy", "zz", "www");
Map<Integer, List<String>> result = list.stream()
.collect(Collectors.groupingBy(String::length,
Collectors.filtering(s -> !s.contains("z"),
Collectors.toList())));
System.out.println(result);
}
} आउटपुट
{1=[x], 2=[yy], 3=[www]}