Эффективный способ найти, содержит ли карта какой-либо из ключей из списка / итерируемых

Мне нужно проверить, содержит ли карта какие-либо ключи из списка, и если да, то вернуть первое соответствующее значение. Наивный подход, который приходит на ум, состоит в том, чтобы сделать это в двух вложенных циклах:

Map fields = new HashMap();
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);
        }
    }
}

Есть ли более приятный и эффективный способ, возможно, основанный на стандартной библиотеке Java?

Ответы на вопрос(9)

Ваш ответ на вопрос