Java流,创建自定义有状态操作

问题描述 投票:0回答:1

我想用流创建自己的有状态操作,例如,我想创建一个自定义的reduce操作,该操作将某些项目与一些未合并的项目(根据我的规则)结合起来,例如:[1、2、3 ,4]-> [1 + 2,3 + 4]。

如果可以实现我的java.util.stream.DistinctOps版本会很好,但是由于无法实现,因此我需要另一种方法来实现我的操作。

同时,为了实现此操作,我收集了流,执行了操作,然后返回了新的流:

public Stream<Integer> myOperation(Stream<Integer> stream) {
    List<Integer> list = stream.collect(toList());
    list = preform operation...
    return list.stream();
}

但是我想执行此操作而不执行终端操作,有什么想法吗?。

谢谢。

java android java-8 stream java-stream
1个回答
0
投票

但是我想执行此操作而不执行终端操作,有什么想法吗?。

[如果不执行终端操作,确实没有办法做到这一点。就流而言,所有中间的非终端操作都是“刚性的”,因为它们不允许您执行此类自定义行为。

© www.soinside.com 2019 - 2024. All rights reserved.