不同的方法应调用具有空列表的 reduce 方法作为标识。如何使用累加器来检查旧列表的值是否已在新列表中。@Overridepublic <R> R reduce(R identity, BiFunction<R, ? super E, R> accumulator) { for (E value : this) { identity = accumulator.apply(identity, value); } return identity;}@Overridepublic List<E> distinct() { List<E> list = new LinkedList<E>(); return reduce(list, (a, b) -> );}
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
您应该使用 来检查某个元素是否在列表中。如果是,请不要将其添加到累加器中,否则,请添加它。contains
return reduce(list, (acc, element) -> {
if (!acc.contains(element)) {
acc.add(element);
}
return acc;
});
添加回答
举报
0/150
提交
取消