Java Collectors类中的collectingAndThen()方法调整收集器以执行额外的完成转换。它返回collector,collector执行下游collector的操作,然后执行附加的结束步骤。
语法如下。
static <T,A,R,RR> Collector<T,A,RR> collectingAndThen(Collector<T,A,R> downstream, Function<R,RR> finisher)
在这里,参数
T-输入元素的类型
A-下游收集器的中间堆积类型
R-下游收集器的结果类型
RR-结果收集器的结果类型
downstream-Collector
finisher-应用于下游收集器最终结果的函数
要使用Java中的Collectors类,请导入以下包。
import java.util.stream.Collectors;
以下是collectingAndThen()在Java中实现方法的示例。
import java.util.List;
import java.util.Collections;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Demo {
public static void main(String[] args) {
List<String> list
= Stream.of("Demo1", "Demo2").collect(Collectors.collectingAndThen(
Collectors.toList(),
Collections::<String> unmodifiableList));
System.out.println(list);
}
}输出结果
[Demo1, Demo2]