Stream API में collect() मेथड
collect() मेथड Stream API में एक स्ट्रीम ऑब्जेक्ट से सभी ऑब्जेक्ट्स को इकट्ठा करता है और उन्हें संग्रह के प्रकार में संग्रहीत करता है। उपयोगकर्ता को यह प्रदान करना होगा कि परिणाम किस प्रकार के संग्रह में संग्रहीत किए जा सकते हैं। हम Collectors Enum का उपयोग करके संग्रह प्रकार निर्दिष्ट करते हैं। Collectors Enum में विभिन्न प्रकार और विभिन्न संचालन मौजूद हो सकते हैं, लेकिन अधिकांश समय हम Collectors.toList(), Collectors.toSet(), और Collectors.toMap() का उपयोग कर सकते हैं।
सिंटैक्स
<R, A> R collect(Collector<? super T,A,R> collector)
उदाहरण: takeWhile, dropWhile, iterate के साथ collect()
import java.util.*;
import java.util.stream.*;
public class StreamCollectMethodTest {
public static void main(String args[]) {
List<String> list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i");
List<String> subset1 = list.stream()
.takeWhile(s -> !s.equals("e"))
.collect(Collectors.toList());
System.out.println(subset1);
List<String> subset2 = list.stream()
.dropWhile(s -> !s.equals("e"))
.collect(Collectors.toList());
System.out.println(subset2);
List<Integer> numbers = Stream.iterate(1, i -> i <= 10, i -> i+1)
.collect(Collectors.toList());
System.out.println(numbers);
}
}
आउटपुट
[a, b, c, d]
[e, f, g, h, i]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
collect() स्ट्रीम एलिमेंट्स को वांछित संग्रह प्रकार में संचित करने के लिए टर्मिनल ऑपरेशन है।