有时候我想在一个流上执行一系列操作,然后用其他操作以两种不同的方式处理结果流。
我能否无需重复指定共同的初始操作而实现这个目的?
例如,我希望存在一个dup()
方法,如下所示:
Stream [] desired_streams = IntStream.range(1, 100).filter(n -> n % 2 == 0).dup();
Stream stream14 = desired_streams[0].filter(n -> n % 7 == 0); // multiples of 14
Stream stream10 = desired_streams[1].filter(n -> n % 5 == 0); // multiples of 10