Мне нужно проверить, содержит ли карта какие-либо ключи из списка, и если это так, то вернуть первое соответствующее значение. Наивный подход, который приходит на ум, состоит в том, чтобы сделать это в двух вложенных циклах:
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);
}
}
}
Есть ли более приятный и эффективный способ, возможно, основанный на стандартной библиотеке Java?