Streams का परिचय

Java में इनपुट/आउटपुट और स्ट्रीम्स

Alex Liu

Software Development Engineer

Streams के साथ काम करना

  • Java Streams

    • डेटा collections को functional तरीके से प्रोसेस करें और large data पर performance बेहतर करें
    • Supported Collections:
      • Lists (जैसे ArrayList, LinkedList)
      • Sets (जैसे HashSet, TreeSet)
      • Maps (Keys/Values को Streams की तरह) (जैसे, HashMap, TreeMap)
      • Arrays (Arrays.stream() के जरिए)
  • बाकी वीडियो के लिए names नाम का उदाहरण ArrayList

    names: ["Alice", "Bob", "Charlie", "David"]
    
Java में इनपुट/आउटपुट और स्ट्रीम्स

Stream के साथ lambda expressions का उपयोग

  • Lambda Expressions
    • सिंटैक्स: (parameters) -> { expression }
names.forEach(
    // `name` is a parameter representing each element in the list
    name -> 
        // This is the expression executed for each element.
        System.out.println(name));
Alice 
Bob 
Charlie 
David
Java में इनपुट/आउटपुट और स्ट्रीम्स

Stream बनाना

  • डेटा collection को Stream में बदलें

    • किसी collection पर .stream() उपयोग करें
    • List, Set और Queue सपोर्टेड हैं
  • Stream क्लास इम्पोर्ट करें

    import java.util.stream.Stream;
    
  • उदाहरण सूची names को stream में बदला और .foreach() से हर एलिमेंट एक्सेस किया।
    Stream<String> stream = names.stream();
    stream.forEach(name -> System.out.println(name));
    
Java में इनपुट/आउटपुट और स्ट्रीम्स

Streams के साथ डेटा फ़िल्टर करना

  • .filter() से एलिमेंट चुनें
    • केवल matching elements रखता है
  • उदाहरण सूची names को stream में बदला
    Stream<String> stream = names.stream();
    
  • .filter() से वे एलिमेंट मैच करें जो A से शुरू हों, और .forEach() से प्रिंट करें
    stream
      .filter(name -> name.startsWith("A"))
      .forEach(name -> System.out.println(name));
    
  • फ़िल्टर परिणाम: Alice
Java में इनपुट/आउटपुट और स्ट्रीम्स

Streams के साथ एलिमेंट गिनना

  • एलिमेंट गिनने के लिए .count() उपयोग करें

    • मान long फॉर्मेट में लौटाता है
  • उदाहरण सूची names को stream में बदला

    Stream<String> stream = names.stream();
    
  • .filter() से वे एलिमेंट मैच करें जो B से शुरू हों, और .count() से उन्हें गिनें

    long count = names.stream()
      .filter(name -> name.startsWith("B"))
      .count();
    
  • काउंट परिणाम: 1 (सिर्फ 1 एलिमेंट Bob B से शुरू होता है)

Java में इनपुट/आउटपुट और स्ट्रीम्स

Streams कब उपयोग करें

  • Streams कब उपयोग करें:
    • बड़े datasets के लिए: performance overhead कम करता है
    • Functional operations के लिए: loops से अधिक readable
    • Filtering और transformations के लिए: कोड सरल
  • Streams कब उपयोग न करें:
    • Original collections को modify करने के लिए
    • Simple loops जिनमें side effects हों
Java में इनपुट/आउटपुट और स्ट्रीम्स

अभ्यास करते हैं!

Java में इनपुट/आउटपुट और स्ट्रीम्स

Preparing Video For Download...