जावा का प्रयोग करें 8 धाराओं इस कन्वर्ट करने के लिए:
List<Map.Entry<String, ?>> entryList = new List<>(//initialization);
List<String> stringList = entryList.stream().map(Entry::getKey).collect(Collectors.toList());
यह प्रविष्टियों की एक stream बना देता है, तो नक्शा विधि का उपयोग करता उन्हें तार को बदलने के लिए है, तो Collectors.toList()
का उपयोग कर एक सूची में एकत्र करता है।
वैकल्पिक रूप से, इस विधि एक सहायक समारोह में बदला जा सकता है अगर आप इसे इस तरह से अधिक बार की जरूरत है:
public static <K> List<K> getKeys(List<Map.Entry<K,?>> entryList) {
return entryList.stream().map(Entry::getKey).collect(Collectors.toList());
}
public static <V> List<V> getValues(List<Map.Entry<?,V>> entryList) {
return entryList.stream().map(Entry::getValue).collect(Collectors.toList());
}
ऊपर कोड काम करता है, आप भी new ArrayList<>(map.keySet())
करके नक्शे से List<K>
प्राप्त कर सकते हैं, इसके साथ आपको लाभ में entryset
को किसी सूची में कनवर्ट करने की आवश्यकता नहीं है, और फिर एक सूची में फिर से वापस करने की आवश्यकता नहीं है।
जावा का कौन सा संस्करण? जावा 8 में एक स्ट्रीमिंग लाइब्रेरी है, इसलिए शायद –
जावा 8 के साथ एक तरीका है। हाँ, मैं मानचित्र फ़ंक्शन के साथ खोज कर रहा हूं, लेकिन कोई रास्ता नहीं ढूंढ पाया है। –
'entryList.stream()। नक्शा (मानचित्र। एंटीरी :: getKey) .collect (collect.toList()) 'वैसे भी, प्रश्न बनाये। – RAnders00