चलो नीचे दिए गए कोड को देखें।कैसे एक लैम्ब्डा अभिव्यक्ति एक कार्यात्मक इंटरफेस में नक्शा?
List<String> names = Arrays.asList("Adam", "Brian", "Supun");
List<Integer> lengths = names.stream()
.map(name -> name.length())
.collect(Collectors.toList());
और बस उसके बाद streams.map
के लिए javadoc पर दिखेगा। map
विधि के लिए हस्ताक्षर इस तरह दिखाई देता है।
<R> Stream<R> map(Function<? super T,? extends R> mapper)
किसी कृपया व्याख्या कर सकते हैं कि कैसे JVM नक्शे लैम्ब्डा अभिव्यक्ति हम दे दी है (name -> name.length()
) Function<? super T,? extends R> mapper
के मामले में?
आप क्या करने की कोशिश कर रहे हैं? आपको स्ट्रीम प्रकार के स्थानीय चर बनाने की आवश्यकता नहीं है। क्या आप 'names.stream() के लिए देख रहे हैं। मानचित्र (...)। संग्रह (संग्राहक.तोलिस्ट())'? इसके अलावा, कच्चे सूची प्रकार का उपयोग न करें। – Michael
@ माइकल वास्तव में मुझे दर्शकों को लैम्ब्डा अभिव्यक्ति भाग पर ध्यान केंद्रित करने की आवश्यकता थी। इसलिए मैंने आपके द्वारा उल्लेखित बाद के जोड़ों को नहीं जोड़ा है। यह केवल एक कार्यात्मक इंटरफ़ेस में लैम्ब्डा के मैपिंग को समझने के लिए है। और कुछ नहीं। :)) –
@ माइकल को आपका अंक मिला। धन्यवाद। :)) उम्मीद है कि मैंने कोड को सही किया है। –