文档中关于ConstraintCollectors
'count()
和countDistinct()
的示例并不十分清楚:
ConstraintCollectors.count(…)
对一个组中的所有元素进行计数ConstraintCollectors.countDistinct(…)
对组中的任何元素计数一次,而不管它发生了多少次。
我看不出两者有什么区别。当与groupBy()
组合时,它们不都返回一个代表A
的组的元组的BiConstraintStream<A, Integer>
及其相应的计数吗?
这些方法缺少javadocs和一些示例:https://issues.redhat.com/browse/PLANNER-2241
计数:
from([
Person("Ann", "Cole", 20),
Person("Beth", "Cole", 20),
Person("Carl", "Cole", 22),
Person("Dan", "Jones", 20)
]).groupBy(Person::getLastName, count())
returns [{"Cole", 3}, {"Jones", 1}]
countDistinct:
from([
Person("Ann", "Cole", 20),
Person("Beth", "Cole", 20),
Person("Carl", "Cole", 30),
Person("Dan", "Jones", 20)
]).groupBy(Person::getLastName, countDistinct(Person::getAge))
returns [{"Cole", 2}, {"Jones", 1}]
这些例子说明了区别吗?