Иногда мне нужно выполнить набор операций над потоком, а затем обработать полученный поток двумя разными способами с помощью других операций.
Могу ли я сделать это, не имея дважды указать общие начальные операции?
Например, я надеюсь, что существует метод 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
Подробнее здесь: https://stackoverflow.com/questions/244 ... -in-java-8