【说站】java Reduce的三种重载

2022-11-23 11:19:19 浏览数 (1)

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的三种重载,希望对大家有所帮助。

0 人点赞