परिचय
स्ट्रीम को Java 8 में पेश किया गया है, इसका उपयोग केवल डेटा के समूह को प्रोसेस करने के लिए किया जाता है, तत्वों को स्टोर करने के लिए नहीं। यह वास्तविक कलेक्शन को संशोधित नहीं करता, वे केवल पाइपलाइन्ड मेथड्स के अनुसार परिणाम प्रदान करते हैं।
स्ट्रीम API कई ऑपरेशन्स का समर्थन करता है और ऑपरेशन्स को दो भागों में विभाजित किया जाता है -
- इंटरमीडिएट ऑपरेशन - इन ऑपरेशन्स का उपयोग अन्य मेथड्स को पाइपलाइन करने और अन्य स्ट्रीम्स में बदलने के लिए किया जाता है। वे परिणाम उत्पन्न नहीं करते क्योंकि ये ऑपरेशन तब तक इनवोक नहीं होते जब तक टर्मिनल ऑपरेशन निष्पादित नहीं होता। उदाहरण - sorted(Comparator), peek(Consumer), distinct()
- टर्मिनल ऑपरेशन - इन ऑपरेशन्स का उपयोग परिणाम उत्पन्न करने के लिए किया जाता है। उनका उपयोग अन्य मेथड्स को चेन करने के लिए नहीं किया जा सकता। उदाहरण - forEach, count, toArray
| क्र. सं. | मुख्य बिंदु | इंटरमीडिएट ऑपरेशन्स | टर्मिनल ऑपरेशन्स |
|---|---|---|---|
| 1 | बुनियादी | ये ऑपरेशन्स अन्य मेथड्स को पाइपलाइन करने और अन्य स्ट्रीम्स में बदलने के लिए उपयोग किए जाते हैं | Java में एक टर्मिनल ऑपरेशन एक मेथड है जिसे स्ट्रीम पर अंतिम चरण के रूप में लागू किया जाता है। |
| 2 | रिटर्न टाइप | वे केवल दूसरी स्ट्रीम वापस करते हैं। | वे अंतिम परिणाम वापस करते हैं। |
| 3 | मेथड | sorted(Comparator), peek(Consumer), distinct() | forEach, count, toArray |
| 4 | उपयोग का मामला | इन ऑपरेशन्स का उपयोग स्ट्रीम को दूसरी स्ट्रीम में बदलने के लिए किया जाना चाहिए | इनका उपयोग परिणाम उत्पन्न करने के लिए किया जा सकता है। |
इंटरमीडिएट और टर्मिनल ऑपरेशन का उदाहरण
public class Main {
public static void main(String args[]) throws InterruptedException, ExecutionException {
List laptopList = new ArrayList();
laptopList.add("DELL");
laptopList.add("ACER");
laptopList.add("HCL");
// इंटरमीडिएट ऑपरेशन
laptopList.sort((p1, p2) -> p1.compareTo(p2));
// टर्मिनल ऑपरेशन
laptopList.forEach(a -> {
System.out.println(a);
});
}
}