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

जावा में स्ट्रीम फिल्टर के साथ सूची का योग

उदाहरण

import java.util.*; 

public class Demo { 
    public static void main(String[] args) { 
        List myList = new ArrayList<>(); 
        myList.add(11); 
        myList.add(35); 
        myList.add(56); 
        myList.add(78); 
        myList.add(91); 
        System.out.println(sum(myList)); 
    } 
    
    public static int sum(List myList) { 
        System.out.println("मुख्य फंक्शन में, फिल्टर के साथ सूची का योग है: "); 
        return myList.stream()
                     .filter(i -> i > 5)
                     .mapToInt(i -> i)
                     .sum(); 
    } 
}

आउटपुट

मुख्य फंक्शन में, फिल्टर के साथ सूची का योग है: 271

व्याख्या: Demo क्लास में मुख्य फंक्शन होता है जो एक ArrayList बनाता है। 'add()' फंक्शन का उपयोग करके ऐरेलिस्ट में तत्व जोड़े जाते हैं। सूची के सभी तत्वों का योग 'sum' फंक्शन का उपयोग करके स्क्रीन पर प्रिंट किया जा सकता है। 'sum' नामक एक अन्य फंक्शन परिभाषित किया जाता है जो मान को इंटीजर में मैप करके फिल्टर्ड आउटपुट लौटाता है।

स्ट्रीम API व्याख्या:

myList.stream()           // स्ट्रीम बनाएं
      .filter(i -> i > 5)  // 5 से बड़े तत्व रखें
      .mapToInt(i -> i)    // Integer को int में बदलें (IntStream)
      .sum();              // योग की गणना करें

अन्य उपयोगी स्ट्रीम ऑपरेशन्स:

ऑपरेशनउदाहरणविवरण
फिल्टर.filter(x -> x > 10)शर्त के आधार पर तत्व रखें
मैप.map(String::length)प्रत्येक तत्व को बदलें
फ्लैटमैप.flatMap(List::stream)नेस्टेड संरचनाओं को फ्लैट करें
डिस्टिंक्ट.distinct()डुप्लिकेट हटाएं
सॉर्टेड.sorted()क्रमबद्ध करें
लिमिट.limit(5)पहले n तत्व लें
स्किप.skip(2)पहले n तत्व छोड़ें
रिड्यूस.reduce(0, Integer::sum)कस्टम रिडक्शन

समानांतर स्ट्रीम:

// बड़ी सूचियों के लिए समानांतर प्रसंस्करण
int sum = myList.parallelStream()
                .filter(i -> i > 5)
                .mapToInt(i -> i)
                .sum();

Collectors के साथ:

// योग के अलावा अन्य संग्रह
List filtered = myList.stream()
    .filter(i -> i > 5)
    .collect(Collectors.toList());

int count = myList.stream()
    .filter(i -> i > 5)
    .collect(Collectors.counting());
  1. Java में बैलेंस्ड BST में दिए गए योग के साथ एक जोड़ी खोजें Java में बैलेंस्ड BST में दिए गए योग के साथ एक जोड़ी खोजें

    अवधारणाएक दिए गए बैलेंस्ड बाइनरी सर्च ट्री और एक टारगेट योग के संबंध में, हम एक फ़ंक्शन लिखते हैं जो true वापस करता है यदि कोई जोड़ी है जिसका योग टारगेट योग के बराबर है, अन्यथा false वापस करता है। इस मामले में, अपेक्षित समय जटिलता O(n) है और केवल O(log n) अतिरिक्त स्पेस लागू किया जा सकता है। यहां, ब

  1. Eclipse के साथ JavaFX सेटअप Eclipse के साथ JavaFX सेटअप

    Eclipse में JavaFX सेटअप करने के लिए, सबसे पहले सुनिश्चित करें कि आपके सिस्टम में Eclipse और Java सफलतापूर्वक इंस्टॉल हैं। Maven डिपेंडेंसी Maven डिपेंडेंसी का उपयोग करके JavaFX वातावरण सेट करने के लिए, Eclipse में एक Java प्रोजेक्ट बनाएं और इसे नीचे दिखाए अनुसार Maven प्रोजेक्ट में बदलें - फिर

  1. Java 8 Streams में मास्टरी: व्यावहारिक कोड उदाहरण और टिप्स Java 8 Streams में मास्टरी: व्यावहारिक कोड उदाहरण और टिप्स

    इस ब्लॉग पोस्ट में, हम Java 8 Streams फीचर्स पर चर्चा करने जा रहे हैं और ढेर सारे अलग-अलग कोड उदाहरण प्रदान करेंगे। Java Streams जावा में फंक्शनल प्रोग्रामिंग लाते हैं और वे Java 8 से शुरू होकर समर्थित हैं इसलिए यदि आपके पास Java का पुराना वर्जन है, तो आपको Java Streams का उपयोग करने के लिए Java 8