जावा 9 में, Optional क्लास में इसकी कार्यक्षमता में सुधार के लिए stream() मेथड जोड़ा गया है। stream() मेथड का उपयोग ऑप्शनल तत्वों की स्ट्रीम को मौजूद मान तत्वों की स्ट्रीम में बदलने के लिए किया जा सकता है। यदि Optional में कोई मान है, तो उस मान वाली स्ट्रीम लौटाता है। अन्यथा, यह एक खाली स्ट्रीम लौटाता है।
सिंटैक्स
public Streamstream()
उदाहरण
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamMethodTest {
public static void main(String[] args) {
List> list = Arrays.asList(
Optional.empty(),
Optional.of("TutorialsPoint"),
Optional.empty(),
Optional.of("Tutorix"));
// यदि ऑप्शनल नॉन-खाली है, तो स्ट्रीम में मान प्राप्त करें, अन्यथा खाली लौटाएं
List filteredListJava8 = list.stream()
.flatMap(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty())
.collect(Collectors.toList());
// Optional::stream मेथड डेटा मौजूद होने या न होने पर एक या शून्य तत्व की स्ट्रीम लौटा सकता है।
List filteredListJava9 = list.stream()
.flatMap(Optional::stream)
.collect(Collectors.toList());
System.out.println(filteredListJava8);
System.out.println(filteredListJava9);
}
}
आउटपुट
[TutorialsPoint, Tutorix] [TutorialsPoint, Tutorix]