gpt4 book ai didi

java - 如何使用自己的 reduce 方法来区分不同的列表

转载 作者:行者123 更新时间:2023-11-30 07:41:48 25 4
gpt4 key购买 nike

distinct 方法应该以空列表作为身份调用 reduce 方法。如何使用累加器检查旧列表的值是否已在新列表中。

@Override
public <R> R reduce(R identity, BiFunction<R, ? super E, R> accumulator) {
for (E value : this) {
identity = accumulator.apply(identity, value);
}
return identity;
}

@Override
public List<E> distinct() {
List<E> list = new LinkedList<E>();
return reduce(list, (a, b) -> );
}

最佳答案

您应该使用contains 来检查元素是否在列表中。如果是,请不要将其添加到累加器,否则,添加它。

return reduce(list, (acc, element) -> {
if (!acc.contains(element)) {
acc.add(element);
}
return acc;
});

关于java - 如何使用自己的 reduce 方法来区分不同的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55596799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com