"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं जावा 8 धाराओं का उपयोग करके मानचित्रों में सूचियों का कुशलता से अनुवाद कैसे कर सकता हूं?

मैं जावा 8 धाराओं का उपयोग करके मानचित्रों में सूचियों का कुशलता से अनुवाद कैसे कर सकता हूं?

2025-02-06 पर पोस्ट किया गया
ब्राउज़ करें:529

] यह विभिन्न तरीकों से प्राप्त किया जा सकता है, वांछित व्यवहार और गुआवा जैसे तृतीय-पक्ष पुस्तकालयों की उपलब्धता के आधार पर। एक नक्शे में एक सूची में मैनुअल पुनरावृत्ति और एक हस्तलिखित लूप शामिल था:

How Can I Efficiently Translate Lists to Maps Using Java 8 Streams?
निजी मानचित्र नाममैप (सूची विकल्प) { अंतिम मानचित्र हैशमैप = नया हैशमैप (); के लिए (अंतिम विकल्प विकल्प: विकल्प) { hashmap.put (पसंद। getName (), पसंद); } हैशमैप लौटें; … ]

जावा 7

के साथ Gumava रिटर्न MAPS.UNIQUINDEX (विकल्प, नया फ़ंक्शन () { @Override सार्वजनिक स्ट्रिंग लागू (अंतिम विकल्प इनपुट) { रिटर्न इनपुट.गेटनम (); } }); }

java 8 lambdas

private Map nameMap(List choices) {
    final Map hashMap = new HashMap();
    for (final Choice choice : choices) {
        hashMap.put(choice.getName(), choice);
    }

    return hashMap;
}

कलेक्टरों को बचाव के लिए

java 8 के संग्राहक वर्ग मानचित्रण सूची के लिए एक मजबूत कार्यान्वयन प्रदान करता है। TOMAP कलेक्टर दो तर्क लेता है:

एक कुंजी एक्सट्रैक्टर फ़ंक्शन (एक फ़ंक्शन जो प्रत्येक तत्व के लिए कुंजी को पुनः प्राप्त करता है)

private Map nameMap(List choices) {
    return Maps.uniqueIndex(choices, new Function() {

        @Override
        public String apply(final Choice input) {
            return input.getName();
        }

    });
}

इस मामले में, हम विकल्प का उपयोग कर सकते हैं :: getName और function.Identity () क्रमशः कुंजी और मान को पुनः प्राप्त करने के लिए:

मानचित्र परिणाम = CHOICES.STREAM ()। कलेक्ट (कलेक्टर्स.टोमैप (चॉइस :: getName, Function.identity ());

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3