1、一个参数的reduce
格式
Optional<T> reduce(BinaryOperator<T> accumulator)
T result = a[0]; for (int i = 1; i < n; i++) { result = accumulator.apply(result, a[i]); } return result;
2、两个参数的reduce
格式
T reduce(T identity, BinaryOperator<T> accumulator)
T result = identity; for (int i = 0; i < n; i++) { result = accumulator.apply(result, a[i]); } return result;
3、三个参数的Reduce,其中get和set方法使用时省略。
格式
<U> U reduce(U identity, BiFunction<U, ? super T, U> accumulator,BinaryOperator<U> combiner);
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的三种重载,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。