java Reduce的三种重载
1、一个参数的reduce
格式
代码语言:javascript复制Optional<T> reduce(BinaryOperator<T> accumulator)
代码语言:javascript复制T result = a[0];
for (int i = 1; i < n; i ) {
result = accumulator.apply(result, a[i]);
}
return result;
2、两个参数的reduce
格式
代码语言:javascript复制T reduce(T identity, BinaryOperator<T> accumulator)
代码语言:javascript复制T result = identity;
for (int i = 0; i < n; i ) {
result = accumulator.apply(result, a[i]);
}
return result;
3、三个参数的Reduce,其中get和set方法使用时省略。
格式
代码语言:javascript复制<U> U reduce(U identity, BiFunction<U, ? super T, U> accumulator,BinaryOperator<U> combiner);
代码语言:javascript复制static class ScoreBean {
private String name; //学生姓名
private int score; //分数,需要汇总该字段
public ScoreBean(String name, int score) {
this.name = name;
this.score = score;
}
//get 和 set 方法省略
}
以上就是java Reduce的三种重载,希望对大家有所帮助。