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

जावा 9 में Stream API में कौन सी नई विशेषताएं जोड़ी गई हैं?

जावा 9 में, Oracle Corporation ने Stream API में चार उपयोगी नए मेथड जोड़े हैं। वे मेथड iterate(), ofNullable(), takeWhile() और dropWhile() हैं।

iterate()

iterate() का उपयोग पारंपरिक फॉर-लूप्स के स्ट्रीम संस्करण प्रतिस्थापन के रूप में किया जा सकता है। इस मेथड को एक और पैरामीटर, Predicate इंटरफेस जोड़कर सुधारा गया है जो हमें Predicate इंटरफेस के साथ परिभाषित शर्तों के आधार पर इन अंतहीन संख्याओं को रोकने की अनुमति देता है।

उदाहरण

import java.util.stream.Stream;

public class StreamIterateMethodTest {
    public static void main(String[] args) {
        Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println); // iterate()
    }
}

आउटपुट

1 2 3 4

ofNullable()

ofNullable() मेथड एलिमेंट का स्ट्रीम ऑब्जेक्ट लौटाता है यदि यह नल नहीं है। अन्यथा, यह एक खाली स्ट्रीम लौटाता है।

उदाहरण

import java.util.stream.Stream;

public class StreamOfNullableMethodTest {
    public static void main(String[] args) {
        String str = "TutorialsPoint";
        Stream.ofNullable(str).forEach(System.out::println); // ofNullable() मेथड
    }
}

आउटपुट

TutorialsPoint

takeWhile()

takeWhile() मेथड को पास किया गया पैरामीटर एक Predicate इंटरफेस है। यह मेथड स्ट्रीम ऑब्जेक्ट के एलिमेंट को बाएं से दाएं तब तक लेता है जब तक Predicate ऑब्जेक्ट की शर्त पूरी नहीं होती।

उदाहरण

import java.util.stream.Stream;

public class StreamTakeWhileMethodTest {
    public static void main(String[] args) {
        Stream.of(1, 2, 3, 4, 5)
            .takeWhile(i -> i < 5) // takeWhile() मेथड
            .forEach(System.out::println);
    }
}

आउटपुट

1 2 3 4

dropWhile()

dropWhile() मेथड को पास किया गया पैरामीटर भी एक Predicate इंटरफेस है। यह takeWhile() मेथड के विपरीत है। यह मेथड स्ट्रीम ऑब्जेक्ट में प्रत्येक एलिमेंट को बाएं से दाएं पास करता है और उन सभी एलिमेंट्स को अनदेखा करता है जो शर्त को पूरा करते हैं। एक बार शर्त पूरी न होने पर, यह वापस करने के लिए सभी शेष एलिमेंट्स लेता है।

उदाहरण

import java.util.stream.Stream;

public class StreamDropWhileMethodTest {
    public static void main(String[] args) {
        Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10)
            .dropWhile(i -> i < 5) // dropWhile() मेथड
            .forEach(System.out::println);
    }
}

आउटपुट

6 7 8 9 10
  1. - Java में स्टेटिक मेथड या स्टेटिक ब्लॉक पर क्या प्रतिबंध हैं?

    स्टेटिक मेथड्सनॉन-स्टेटिक सदस्यों को एक्सेस नहीं कर सकते (इंस्टेंस वेरिएबल/मेथड्स) - कोई this संदर्भ नहीं।this और super का उपयोग नहीं कर सकते।केवल स्टेटिक डेटा एक्सेस कर सकते हैं।ओवरराइड नहीं किए जा सकते - केवल छिपाए जा सकते हैं (मेथड हाइडिंग)।स्टेटिक मेथड्स से चेक्ड अपवाद फेंके जा सकते हैं।स्टेटिक

  1. Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं? Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं?

    Paint() और Repaint() paint(): इस विधि में इस घटक को पेंट करने के निर्देश होते हैं। Java Swing में, हम paint() विधि के बजाय paintComponent() विधि को बदल सकते हैं क्योंकि paint paintBorder(), paintComponent() और paintChildren() विधियों को कॉल करता है। हम इस विधि को सीधे नहीं बुला सकते, इसके बजाय हम

  1. - Java में printStackTrace() और getMessage() मेथड में क्या अंतर है?

    Java में किसी अपवाद (Exception) की डिटेल्स जानने के दो मुख्य तरीके हैं: printStackTrace() मेथड और getMessage() मेथड। दोनों का उपयोग अलग-अलग परिस्थितियों में किया जाता है। printStackTrace() मेथड यह मेथड java.lang.Throwable क्लास में परिभाषित है और java.lang.Error तथा java.lang.Exception क्लास में