328 } |
328 } |
329 }; |
329 }; |
330 } |
330 } |
331 |
331 |
332 @Override |
332 @Override |
333 public final LongStream peek(LongConsumer consumer) { |
333 public final LongStream peek(LongConsumer action) { |
334 Objects.requireNonNull(consumer); |
334 Objects.requireNonNull(action); |
335 return new StatelessOp<Long>(this, StreamShape.LONG_VALUE, |
335 return new StatelessOp<Long>(this, StreamShape.LONG_VALUE, |
336 0) { |
336 0) { |
337 @Override |
337 @Override |
338 Sink<Long> opWrapSink(int flags, Sink<Long> sink) { |
338 Sink<Long> opWrapSink(int flags, Sink<Long> sink) { |
339 return new Sink.ChainedLong<Long>(sink) { |
339 return new Sink.ChainedLong<Long>(sink) { |
340 @Override |
340 @Override |
341 public void accept(long t) { |
341 public void accept(long t) { |
342 consumer.accept(t); |
342 action.accept(t); |
343 downstream.accept(t); |
343 downstream.accept(t); |
344 } |
344 } |
345 }; |
345 }; |
346 } |
346 } |
347 }; |
347 }; |
453 public final OptionalLong reduce(LongBinaryOperator op) { |
453 public final OptionalLong reduce(LongBinaryOperator op) { |
454 return evaluate(ReduceOps.makeLong(op)); |
454 return evaluate(ReduceOps.makeLong(op)); |
455 } |
455 } |
456 |
456 |
457 @Override |
457 @Override |
458 public final <R> R collect(Supplier<R> resultFactory, |
458 public final <R> R collect(Supplier<R> supplier, |
459 ObjLongConsumer<R> accumulator, |
459 ObjLongConsumer<R> accumulator, |
460 BiConsumer<R, R> combiner) { |
460 BiConsumer<R, R> combiner) { |
461 BinaryOperator<R> operator = (left, right) -> { |
461 BinaryOperator<R> operator = (left, right) -> { |
462 combiner.accept(left, right); |
462 combiner.accept(left, right); |
463 return left; |
463 return left; |
464 }; |
464 }; |
465 return evaluate(ReduceOps.makeLong(resultFactory, accumulator, operator)); |
465 return evaluate(ReduceOps.makeLong(supplier, accumulator, operator)); |
466 } |
466 } |
467 |
467 |
468 @Override |
468 @Override |
469 public final boolean anyMatch(LongPredicate predicate) { |
469 public final boolean anyMatch(LongPredicate predicate) { |
470 return evaluate(MatchOps.makeLong(predicate, MatchOps.MatchKind.ANY)); |
470 return evaluate(MatchOps.makeLong(predicate, MatchOps.MatchKind.ANY)); |