311 } |
311 } |
312 }; |
312 }; |
313 } |
313 } |
314 |
314 |
315 @Override |
315 @Override |
316 public final DoubleStream peek(DoubleConsumer consumer) { |
316 public final DoubleStream peek(DoubleConsumer action) { |
317 Objects.requireNonNull(consumer); |
317 Objects.requireNonNull(action); |
318 return new StatelessOp<Double>(this, StreamShape.DOUBLE_VALUE, |
318 return new StatelessOp<Double>(this, StreamShape.DOUBLE_VALUE, |
319 0) { |
319 0) { |
320 @Override |
320 @Override |
321 Sink<Double> opWrapSink(int flags, Sink<Double> sink) { |
321 Sink<Double> opWrapSink(int flags, Sink<Double> sink) { |
322 return new Sink.ChainedDouble<Double>(sink) { |
322 return new Sink.ChainedDouble<Double>(sink) { |
323 @Override |
323 @Override |
324 public void accept(double t) { |
324 public void accept(double t) { |
325 consumer.accept(t); |
325 action.accept(t); |
326 downstream.accept(t); |
326 downstream.accept(t); |
327 } |
327 } |
328 }; |
328 }; |
329 } |
329 } |
330 }; |
330 }; |
434 public final OptionalDouble reduce(DoubleBinaryOperator op) { |
434 public final OptionalDouble reduce(DoubleBinaryOperator op) { |
435 return evaluate(ReduceOps.makeDouble(op)); |
435 return evaluate(ReduceOps.makeDouble(op)); |
436 } |
436 } |
437 |
437 |
438 @Override |
438 @Override |
439 public final <R> R collect(Supplier<R> resultFactory, |
439 public final <R> R collect(Supplier<R> supplier, |
440 ObjDoubleConsumer<R> accumulator, |
440 ObjDoubleConsumer<R> accumulator, |
441 BiConsumer<R, R> combiner) { |
441 BiConsumer<R, R> combiner) { |
442 BinaryOperator<R> operator = (left, right) -> { |
442 BinaryOperator<R> operator = (left, right) -> { |
443 combiner.accept(left, right); |
443 combiner.accept(left, right); |
444 return left; |
444 return left; |
445 }; |
445 }; |
446 return evaluate(ReduceOps.makeDouble(resultFactory, accumulator, operator)); |
446 return evaluate(ReduceOps.makeDouble(supplier, accumulator, operator)); |
447 } |
447 } |
448 |
448 |
449 @Override |
449 @Override |
450 public final boolean anyMatch(DoublePredicate predicate) { |
450 public final boolean anyMatch(DoublePredicate predicate) { |
451 return evaluate(MatchOps.makeDouble(predicate, MatchOps.MatchKind.ANY)); |
451 return evaluate(MatchOps.makeDouble(predicate, MatchOps.MatchKind.ANY)); |