Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java 9 में Stream API में collect() मेथड का उपयोग कैसे करें?

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() स्ट्रीम एलिमेंट्स को वांछित संग्रह प्रकार में संचित करने के लिए टर्मिनल ऑपरेशन है।

  1. Java में pack() मेथड का उपयोग कब कर सकते हैं? Java में pack() मेथड का उपयोग कब कर सकते हैं?

    pack() मेथड Java में Window क्लास में परिभाषित है और यह फ्रेम को इस तरह आकार देता है कि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हैं। pack() मेथड का एक विकल्प setSize() या setBounds() मेथड्स को कॉल करके फ्रेम आकार को स्पष्ट रूप से स्थापित करना है। सामान्य तौर पर, pack() मेथड का उपयोग setSiz

  1. जावा में invokeLater() मेथड को कैसे कॉल करें? जावा में invokeLater() मेथड को कैसे कॉल करें?

    invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस

  1. - Java में java.lang.String क्लास के substring() मेथड का उपयोग कैसे करें?

    substring() मेथड String डेटाटाइप लौटाता है जो begin इंडेक्स से शुरू होकर एंड इंडेक्स तक मूल String से मेल खाता है। यदि एंड इंडेक्स निर्दिष्ट नहीं है, तो यह अनिवार्य है कि endIndex स्ट्रिंग की लंबाई है। चूंकि हम String के साथ काम कर रहे हैं, इंडेक्स 0 पोजीशन से शुरू होता है। सिंटैक्स public String s