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

Popular posts from this blog

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -

Matlab transpose a table vector -

c# - Textbox not clickable but editable -