पर नया मान जोड़ना मौजूदा Stream
पर नया मान जोड़ने का कोई अच्छा तरीका है? मैं कल्पना कर सकते हैं कुछ इस तरह है:मौजूदा स्ट्रीम
public <T> Stream<T> addToStream(Stream<T> stream, T elem) {
List<T> result = stream.collect(Collectors.toList());
result.add(elem);
return result.stream();
}
लेकिन मैं अधिक संक्षिप्त है कि मैं शब्दाडंबर बिना लैम्ब्डा अभिव्यक्ति में उपयोग कर सकते हैं कुछ के लिए देख रहा हूँ।
एक और सवाल दिखाई दिया जब मैं पी ई सी एस लागू करने के लिए सिद्धांत की कोशिश की:
public <T> Stream<? super T> addToStream(Stream<? super T> stream, T elem) {
List<? super T> result = stream.collect(Collectors.toList()); //error
result.add(elem);
return result.stream();
}
वाइल्डकार्ड की तरह लगता है Stream.collect
साथ काम नहीं करता और मैं क्यों सोच रहा हूँ। अग्रिम में धन्यवाद।
इस बात की कोई गारंटी नहीं है कि 'संग्रह' 'संग्रह' से 'संग्रह' से वापस लौटाया गया है, आप 'सूची' का समर्थन करने के बजाय 'संग्राहक.कोलेक्शन' का उपयोग कर सकते हैं। – Alex