我需要检查地图是否包含列表中的任何键,如果包含则返回第一个匹配值。想到的幼稚方法是在两个嵌套循环中执行此操作:
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 标准库?