マップにリストのキーが含まれているかどうかを確認し、含まれている場合は最初に一致する値を返す必要があります。頭に浮かぶ素朴なアプローチは、2つのネストされたループでそれを行うことです。
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標準ライブラリに依存する方法はありますか?