Java 8 Stream में map() और flatMap() विधियों के बीच क्या अंतर है?
सभी को नमस्ते! मैंने हाल ही में Java 8 सीखना शुरू किया है और Stream API को समझने की कोशिश कर रहा हूँ। मैंने कई लेख पढ़े, लेकिन `map()` और `flatMap()` विधियों के बीच अंतर समझ नहीं पा रहा हूँ।
मेरे पास एक सरल उदाहरण है। मान लीजिए, स्ट्रिंग्स की एक सूची है:
```java
List words = Arrays.asList("Hello", "World");
```
यदि मैं इस सूची पर `map()` लागू करता हूँ और प्रत्येक स्ट्रिंग को अलग-अलग characters में विभाजित करना चाहता हूँ:
```java
words.stream()
.map(word -> word.split(""))
.forEach(System.out::println);
```
मुझे `[Ljava.lang.String;@1b6d3586` जैसा आउटपुट मिलता है — कुछ हैश-कोड, characters नहीं। ऐसा क्यों होता है? मैं characters की सूची कैसे प्राप्त करूँ?
मैंने सुना है कि `flatMap()` मदद कर सकता है, लेकिन यह नहीं समझ पा रहा हूँ कि कैसे। इन विधियों के बीच मूलभूत अंतर क्या है? `map()` का उपयोग कब करना चाहिए?
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए