Return empty element from Java 8 map operation -
जावा 8 स्ट्रीम का उपयोग करना सबसे अच्छा तरीका को बस रिक्त वापसी करें? लेकिन अब मेरी आउटपुट सूची का आकार मेरे इनपुट आकार से छोटा होगा ... मैं आपको (और सभी जवाब) इसे क्यों प्राप्त नहीं करता बहुत कठिन। आपके पास मैपिंग ऑपरेशन और फ़िल्टरिंग ऑपरेशन है। तो सबसे आसान तरीका है कि इन ऑपरेशन को एक के बाद एक ही लागू करना है। और जब तक आपकी विधि पहले से एक यह लेकिन आपको लगता है कि किस तरह का सरल उत्तर है: कोई सूची तैयार नहीं करें एक यह विभिन्न कार्यों के लिए एक अलग जवाब हो सकता है ?? | सूची & lt; Integer & gt; जब आपके पास इनपुट पूर्णांक के लिए कोई आउटपुट नहीं है?
सूची & lt; Integer & gt; Input = arrays.asList (0,1,2,3); सूची के & lt; पूर्णांक & gt; आउटपुट = इनपुट.स्ट्रीम () .मैप (आई - & gt; {पूर्णांक बाहर = पागल फंक्शन (i); अगर (बाहर == रिक्त; आउट.एफ़ल (0)) रिटर्न रिक्त; वापसी वैकल्पिक। (आउट);} ) .collect (कलेक्टरों। सूची ());
वैकल्पिक देता है,
वैकल्पिक से निपटने की कोई आवश्यकता नहीं है।
input.stream ()। Map ( मैं - & gt; पागल फंक्शन (i))। फ़िलटर (आउट - & gt; आउट! = नल & amp;! आउट.एफ़ल (0)) .collect (कलेक्टरों। सूची ());
input.stream () के लिए सरलीकृत हो सकता है। Map (context :: crazyfunction) .filter (out - & gt; out! = Null & Amp;; out.equals (0))। संग्रह (कलेक्टरों। सूची ());
सूची उत्पन्न करने के लिए एक और सैद्धांतिक सवाल है, अनुपस्थित मूल्य के लिए प्लेसहोल्डर या एक इनपुट से अलग आकार के साथ सूची।
सूची अपने आप में एक अंत नहीं है, इसलिए आपको यह विचार करना चाहिए कि किस प्रकार का कार्यवाही आपको इस सूची (या इसकी सामग्री) की आवश्यकता है और ऑपरेशन को टर्मिनल ऑपरेशन के रूप में लागू करना चाहिए धारा। इसके बाद आपके उत्तर के रूप में आपका ऑपरेशन बताता है कि अनुपस्थित मूल्यों को किसी विशेष मूल्य (और क्या मान होना चाहिए) को फ़िल्टर किया जाना चाहिए या उसका प्रतिनिधित्व किया जाना चाहिए।
Comments
Post a Comment