Streams के साथ डेटा ट्रांसफॉर्मेशन

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

Alex Liu

Software Development Engineer

Streams के साथ डेटा ट्रांसफॉर्मेशन

  • Streams के साथ डेटा ट्रांसफॉर्मेशन

    • डेटा फ़ॉर्मैट बदलें, एग्रीगेट करें और फ़िल्टर करें
    • परिणाम नए कलेक्शन टाइप में स्टोर करें (जैसे List से Set)
    • समर्थित Collections:
      • Lists (जैसे ArrayList, LinkedList)
      • Sets (जैसे HashSet, TreeSet)
      • Maps (Keys/Values as Streams) (जैसे HashMap, TreeMap)
      • Arrays (Arrays.stream() के जरिए)
  • बाकी वीडियो के लिए names नाम का ArrayList उदाहरण

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

तत्वों को बदलने के लिए Stream का उपयोग

  • तैयारी: आवश्यक क्लास Set, Collectors और Stream इम्पोर्ट करें
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

// पहले बनाए गए `ArrayList` `names` को `Stream` में बदलें Stream<String> namesStream = names.stream();
  • वर्तमान डेटा: [Alice, Bob, Charlie, David]
Java में इनपुट/आउटपुट और स्ट्रीम्स

तत्वों को बदलने के लिए Stream का उपयोग (जारी)

// हर तत्व को बड़े अक्षरों में बदलने के लिए `.map()` का उपयोग करें
Stream<String> upperCaseNameStream = namesStream.map(
        name -> name.toUpperCase())
  • वर्तमान डेटा: [ALICE, BOB, CHARLIE, DAVID]
// बदले हुए स्ट्रीम डेटा को स्टोर करने के लिए `.collect()` और `Collectors.toSet()` का उपयोग करें
upperCaseNameStream.collect(Collectors.toSet())
  • अंतिम डेटा:
    {CHARLIE, ALICE, BOB, DAVID}
    
Java में इनपुट/आउटपुट और स्ट्रीम्स

एग्रीगेशन के लिए Stream का उपयोग

  • .reduce() मेथड

    • तत्वों को एकल परिणाम में एग्रीगेट करता है
    • समेशन, कॉनकैटनेशन, या min/max के लिए उपयोगी
  • .reduce() दो इनपुट लेता है

    • Initial Value: संचय की शुरुआती वैल्यू, जैसे 0
    • Binary Operator: दो आर्ग्यूमेंट लेने वाला फंक्शन
      • (x, y) -> x + y का मतलब:
        • x अब तक का कुल
        • y वर्तमान प्रोसेस हो रहा तत्व
        • ऑपरेशन y को x में जोड़ता है, जब तक सभी तत्व प्रोसेस न हों
Java में इनपुट/आउटपुट और स्ट्रीम्स

एग्रीगेशन के लिए Stream का उपयोग: उदाहरण

  • ArrayList names को Stream ऑब्जेक्ट में बदलें।
    Stream<String> stream = names.stream();
    
  • .map() से नाम को उसकी length में बदलें और .reduce() से जोड़ें
    stream
      .map(name -> name.length())
      .reduce(0, (sum, length) -> sum + length);
    
  • परिणाम: 20
Java में इनपुट/आउटपुट और स्ट्रीम्स

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

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

Preparing Video For Download...