जेशेल जावा . में पेश किया गया एक टूल है 9 , और यह इनपुट के रूप में अभिव्यक्ति, चर, विधियों, वर्गों आदि जैसे सरल कथनों को स्वीकार करता है और तत्काल परिणाम उत्पन्न करता है।
A स्ट्रीम मूल्यों का एक क्रम है। एक मध्यवर्ती स्ट्रीम ऑपरेशन एक ऑपरेशन है जो एक धारा लेता है। उदाहरण के लिए, इसे लैम्ब्डा एक्सप्रेशन पर लागू किया जा सकता है और इसके परिणाम के रूप में तत्वों की एक और धारा उत्पन्न करता है।
सबसे लोकप्रिय इंटरमीडिएट स्ट्रीम संचालन नीचे उल्लिखित हैं:
- 1) क्रमबद्ध (): यह विधि परिणामस्वरूप खपत की गई धारा के तत्वों को संरक्षित करती है लेकिन उन्हें प्राकृतिक क्रमबद्ध क्रम में भी रखती है।
- 2) विशिष्ट (): यह विधि इनपुट स्ट्रीम के केवल अद्वितीय तत्वों को बनाए रखते हुए एक स्ट्रीम लौटाती है, और यह बनाए रखा तत्वों के सापेक्ष क्रम को बनाए रख सकती है।
- 3) फ़िल्टर (): इस पद्धति का उपयोग कुछ तर्कों के आधार पर स्ट्रीम तत्वों को फ़िल्टर करने के लिए किया जा सकता है।
- 4) नक्शा (): यह विधि इनपुट स्ट्रीम तत्वों से नए परिणामों की गणना करने के लिए लैम्ब्डा अभिव्यक्ति लागू करती है। फिर, यह इन परिणामों की एक धारा को आउटपुट के रूप में लौटाता है।
नीचे दिए गए कोड स्निपेट में, हम JShell टूल में विभिन्न इंटरमीडिएट स्ट्रीम ऑपरेशंस को लागू कर सकते हैं।
स्निपेट
jshell> List<Integer> numbers = List.of(3, 10, 23, 200, 77, 9, 32); numbers ==> [3, 10, 23, 200, 77, 9, 32] jshell> numbers.stream().sorted().forEach(elem -> System.out.println(elem)); 3 9 10 23 32 77 200 jshell> List<Integer> numbers = List.of(3, 5, 54, 280, 5, 9, 40); numbers ==> [3, 5, 54, 280, 5, 9, 40] jshell> numbers.stream().distinct().forEach(elem -> System.out.println(elem)); 3 5 54 280 9 40 jshell> numbers.stream().distinct().sorted().forEach(elem -> System.out.println(elem)); 3 5 9 40 54 280 jshell> numbers.stream().distinct().map(num -> num * num).forEach(elem -> System.out.println(elem)); 9 25 2916 78400 81 1600