remappingFunction
- это реализация BiFunction<? super MyObject, ? super MyObject,? extends MyObject>
, которая оценивается с помощью метода apply
, который необходимо определить здесь.
Рассмотрим пример, когда вы должны объединить целочисленный атрибут val
(суммируя) ваших MyObject
, если они сопоставлены с одним и тем же ключом, реализация будет выглядеть так:
map.merge("key", xMyObject, new BiFunction<MyObject, MyObject, MyObject>() {
// this is the definition of what to do for two such values
@Override
public MyObject apply(MyObject myObject1, MyObject myObject2) {
return new MyObject(myObject1.getVal() + myObject2.getVal());
}
});
это также может быть представлено в лямбда как:
map.merge("key", xMyObject,
(myObject1, myObject2) -> new MyObject(myObject1.getVal() + myObject2.getVal()));