से किसी भी कुंजी में खोजने के लिए कुशल तरीका है, मुझे यह जांचने की आवश्यकता है कि मानचित्र में सूची में से कोई भी कुंजी है या नहीं, और यदि यह पहले मिलान मान को वापस कर देता है। अनुभवहीन दृष्टिकोण है कि मन में आता है दो नेस्टेड छोरों में यह करने के लिए है:मानचित्र में किसी भी कुंजी/इटेरबल
Map<String, String> fields = new HashMap<String, String>();
fields.put("a", "value a");
fields.put("z", "value z");
String[] candidates = "a|b|c|d".split("|");
for (String key : fields.keySet()){
for (String candidate : candidates) {
if (key.equals(candidate)){
return fields.get(key);
}
}
}
वहाँ एक अच्छे और अधिक कारगर तरीका एक जावा मानक पुस्तकालय पर निर्भर है, संभवतः?
इस के रूप में कुशल के रूप में यह मिल सकता है इसके बाद के संस्करण जवाब है, लेकिन यह 'मुश्किल' हो सकता है अगर 'शून्य '' Map' में अनुमत मान है। –
दिलचस्प ... क्या मैं इसे सही ढंग से समझता हूं कि विचार केवल 'मानचित्र का उपयोग करना है।'map.contains() + map.get() 'के बजाय एक बार प्राप्त करें) क्योंकि यह दूसरी लुकअप से बच जाएगा? काफी अच्छा है! – ccpizza
@NimChimpsky retain सभी अवरोधक है। –