Прямо сейчас у меня есть следующий код, который берет 2 рецепта и находит дубликаты в рецептах и " объединяет " их.
public void mergeIngredients(Recipe recipe1, Recipe recipe2) {
Map<String, Ingredients> recipe1Map = recipe1.getIngredientsMap();
Map<String, Ingredients> recipe2Map = recipe2.getIngredientsMap();
for (Map.Entry<String, Ingredients> s : recipe1Map.entrySet()) {
if (recipe2Map.containsKey(s.getKey())) {
double newValue = recipe1.getAmount(s.getKey()) + recipe2.getAmount(s.getKey());
System.out.println(newValue);
}
}
}
Я хочу изменить этот код, поэтому вместочтобы иметь возможность сравнивать только 2 карты друг с другом, мне нужно провести рефакторинг кода, чтобы он мог взять N карт и сравнить их все.
Пример: Пользовательский ввод 8различные рецепты, он должен пройтись по всем этим и объединить ингредиенты, если найдены дубликаты.Каков наилучший способ добиться этого?