Moyen efficace pour trouver si la carte contient des clés à partir d'une liste/itérable

J'ai besoin de vérifier si la carte contient des clés à partir d'une liste, et si c'est le cas alors de retour de la première valeur correspondante. L'approche naïve qui vient à l'esprit est de le faire en deux boucles imbriquées:

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);
        }
    }
}

Est-il plus agréable et plus efficace, peut-être en se basant sur la norme Java bibliothèque?

InformationsquelleAutor ccpizza | 2012-12-28