/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
List
<MyClass
> list
= new ArrayList
<>(List.
of( new MyClass
("I",
"am",
"Sarah",
BigDecimal.
valueOf(5.33)),
new MyClass
("I",
"am",
"Frank",
BigDecimal.
valueOf(2.75)),
new MyClass
("I",
"am",
"Sarah",
BigDecimal.
valueOf(3.56)),
new MyClass
("I",
"am",
"Frank",
BigDecimal.
valueOf(7.12)),
new MyClass
("I",
"am",
"John",
BigDecimal.
valueOf(1.11)) ));
Map
<String, BigDecimal
> mapRes
= list.
stream() .collect(Collectors.toMap(mc -> mc.chainNames(), mc -> mc.getAmount(), (decimal1, decimal2) -> decimal1.add(decimal2)));
}
}
class MyClass {
this.name1 = name1;
this.name2 = name2;
this.name3 = name3;
this.amount = amount;
}
/* ... your implementation ...*/
return amount;
}
StringBuilder strBld = new StringBuilder(name1);
strBld.append(name2);
strBld.append(name3);
return strBld.toString();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLm1hdGguQmlnRGVjaW1hbDsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5NYXA7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIExpc3Q8TXlDbGFzcz4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8PihMaXN0Lm9mKAogICAgICAgICAgICAgICAgbmV3IE15Q2xhc3MoIkkiLCAiYW0iLCAiU2FyYWgiLCBCaWdEZWNpbWFsLnZhbHVlT2YoNS4zMykpLAogICAgICAgICAgICAgICAgbmV3IE15Q2xhc3MoIkkiLCAiYW0iLCAiRnJhbmsiLCBCaWdEZWNpbWFsLnZhbHVlT2YoMi43NSkpLAogICAgICAgICAgICAgICAgbmV3IE15Q2xhc3MoIkkiLCAiYW0iLCAiU2FyYWgiLCBCaWdEZWNpbWFsLnZhbHVlT2YoMy41NikpLAogICAgICAgICAgICAgICAgbmV3IE15Q2xhc3MoIkkiLCAiYW0iLCAiRnJhbmsiLCBCaWdEZWNpbWFsLnZhbHVlT2YoNy4xMikpLAogICAgICAgICAgICAgICAgbmV3IE15Q2xhc3MoIkkiLCAiYW0iLCAiSm9obiIsIEJpZ0RlY2ltYWwudmFsdWVPZigxLjExKSkKICAgICAgICApKTsKCiAgICAgICAgTWFwPFN0cmluZywgQmlnRGVjaW1hbD4gbWFwUmVzID0gbGlzdC5zdHJlYW0oKQogICAgICAgICAgICAgICAgLmNvbGxlY3QoQ29sbGVjdG9ycy50b01hcChtYyAtPiBtYy5jaGFpbk5hbWVzKCksIG1jIC0+IG1jLmdldEFtb3VudCgpLCAoZGVjaW1hbDEsIGRlY2ltYWwyKSAtPiBkZWNpbWFsMS5hZGQoZGVjaW1hbDIpKSk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtYXBSZXMpOwogICAgfQp9CgpjbGFzcyBNeUNsYXNzIHsKICAgIHByaXZhdGUgU3RyaW5nIG5hbWUxOwogICAgcHJpdmF0ZSBTdHJpbmcgbmFtZTI7CiAgICBwcml2YXRlIFN0cmluZyBuYW1lMzsKICAgIHByaXZhdGUgQmlnRGVjaW1hbCBhbW91bnQ7CgogICAgcHVibGljIE15Q2xhc3MoU3RyaW5nIG5hbWUxLCBTdHJpbmcgbmFtZTIsIFN0cmluZyBuYW1lMywgQmlnRGVjaW1hbCBhbW91bnQpIHsKICAgICAgICB0aGlzLm5hbWUxID0gbmFtZTE7CiAgICAgICAgdGhpcy5uYW1lMiA9IG5hbWUyOwogICAgICAgIHRoaXMubmFtZTMgPSBuYW1lMzsKICAgICAgICB0aGlzLmFtb3VudCA9IGFtb3VudDsKICAgIH0KCiAgICAvKiAuLi4geW91ciBpbXBsZW1lbnRhdGlvbiAuLi4qLwoKICAgIHB1YmxpYyBCaWdEZWNpbWFsIGdldEFtb3VudCgpIHsKICAgICAgICByZXR1cm4gYW1vdW50OwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgY2hhaW5OYW1lcygpIHsKICAgICAgICBTdHJpbmdCdWlsZGVyIHN0ckJsZCA9IG5ldyBTdHJpbmdCdWlsZGVyKG5hbWUxKTsKICAgICAgICBzdHJCbGQuYXBwZW5kKG5hbWUyKTsKICAgICAgICBzdHJCbGQuYXBwZW5kKG5hbWUzKTsKICAgICAgICByZXR1cm4gc3RyQmxkLnRvU3RyaW5nKCk7CiAgICB9Cn0=