【发布时间】:2019-09-24 05:10:21
【问题描述】:
我有一个对象列表。首先,我需要按类型对其进行排序。 比面值。最后,总结所有数量:
class Coin{
String type;
BigInteger faceValue;
BigInteger quantity;
...
}
List<Coin> coins = new ArrayList<>();
coins.add(new Coin("USD", 1, 150));
coins.add(new Coin("USD", 1, 6));
coins.add(new Coin("USD", 1, 60));
coins.add(new Coin("USD", 2, 100));
coins.add(new Coin("USD", 2, 100));
coins.add(new Coin("CAD", 1, 111));
coins.add(new Coin("CAD", 1, 222));
结果列表必须只包含 3 个新硬币对象:
Coin("USD", 1 , 216)
Coin("USD", 2 , 200)
Coin("CAD", 1 , 333)
这怎么能只写在一个 lambda 表达式中?
【问题讨论】:
-
当你说“一个 lambda 表达式”时,你真的是指一个 lambda 表达式,还是一个可能包含 多个 lambda(和方法引用等)的调用链.)?
-
您是否需要坚持这种设计(恕我直言,这根本不是最佳的),或者您可以根据需要更改课程设计吗?
-
是的,它可能包含多个 lambdas
标签: java lambda java-stream grouping