Map-merge при наличии List в качестве значений

172
27 августа 2021, 08:10

Задача следующая - есть мапа, которая хранит в себе Id и связанный с ним список значений.

private Map<Integer, List<Meal>> repository = new ConcurrentHashMap<>();
@Override
public Meal save(Integer userId, Meal meal) {
    List<Meal> list = new ArrayList<>();
    list.add(meal);
    //write your code there
    return null;
}

Необходимо написать lamda-функцию для утильного метода мапы merge(), чтобы при обращении к методу в List определенной пары добавить meal из аргументов. Как это осуществить?

Answer 1

Тут, похоже, имеется ввиду, что в лямбду надо remappingFunction свернуть. Что-то типа того:

Map<Integer, List<Meal>> repository = new ConcurrentHashMap<>();
repository.put(1, new ArrayList<>());
Integer integer = 2;
List<Meal> mealList = new ArrayList<>();
repository.merge(integer, mealList, (mealList1, mealList2) -> {
    mealList1.addAll(mealList2);
    return mealList1;
});
System.out.println(repository); // {1=[], 2=[]}
READ ALSO
Почему программа работает медленно?

Почему программа работает медленно?

Написал программуПрограмма выполняет все поставленные задачи, кроме одной, она должна выполнятся за 1 секунду, но выполняется за 4, подскажите,...

128
Android, Refrofit. Как разобрать JSON с неизвестным ключом?

Android, Refrofit. Как разобрать JSON с неизвестным ключом?

У меня такой вопрос, как разобрать json с неизвестным ключом? https://acxio//api/v2/tickers

147
Что делает, означает аннотация @Stable?

Что делает, означает аннотация @Stable?

вот к примеру в классе String есть такое вот выражение

188
Азбука Морзе + Шифр Цезаря [дубликат]

Азбука Морзе + Шифр Цезаря [дубликат]

Всем добрый день! В общем не знаю, сможет ли кто помочь, так как вопрос сложный и объёмный, но все же отпишусьПошел я на курсы по java, знания базовой...

93