मैंने अभी जावा 8 लैम्ब्डा के साथ खेलना शुरू किया है और मैं उन कुछ चीजों को लागू करने की कोशिश कर रहा हूं, जिन्हें मैं कार्यात्मक भाषाओं में उपयोग कर रहा हूं।
उदाहरण के लिए, अधिकांश कार्यात्मक भाषाओं में कुछ प्रकार के खोज फ़ंक्शन होते हैं, जो अनुक्रमों पर संचालित होते हैं, या पहले तत्व को लौटाने वाली सूचियों, जिसके लिए विधेय है true
। जावा 8 में इसे प्राप्त करने का एकमात्र तरीका यह है:
lst.stream()
.filter(x -> x > 5)
.findFirst()
हालांकि यह मेरे लिए अक्षम है, क्योंकि फ़िल्टर पूरी सूची को स्कैन करेगा, कम से कम मेरी समझ में (जो गलत हो सकता है)। क्या कोई बेहतर तरीका है?