380 }
381
382 // Stateful intermediate operations from Stream
383
384 @Override
385 public final Stream<P_OUT> distinct() {
386 return DistinctOps.makeRef(this);
387 }
388
389 @Override
390 public final Stream<P_OUT> sorted() {
391 return SortedOps.makeRef(this);
392 }
393
394 @Override
395 public final Stream<P_OUT> sorted(Comparator<? super P_OUT> comparator) {
396 return SortedOps.makeRef(this, comparator);
397 }
398
399 @Override
400 public final Stream<P_OUT> limit(long maxSize) {
401 if (maxSize < 0)
402 throw new IllegalArgumentException(Long.toString(maxSize));
403 return SliceOps.makeRef(this, 0, maxSize);
404 }
405
406 @Override
407 public final Stream<P_OUT> skip(long n) {
408 if (n < 0)
409 throw new IllegalArgumentException(Long.toString(n));
410 if (n == 0)
411 return this;
412 else
413 return SliceOps.makeRef(this, n, -1);
414 }
415
416 @Override
417 public final Stream<P_OUT> takeWhile(Predicate<? super P_OUT> predicate) {
418 return WhileOps.makeTakeWhileRef(this, predicate);
419 }
420
|
380 }
381
382 // Stateful intermediate operations from Stream
383
384 @Override
385 public final Stream<P_OUT> distinct() {
386 return DistinctOps.makeRef(this);
387 }
388
389 @Override
390 public final Stream<P_OUT> sorted() {
391 return SortedOps.makeRef(this);
392 }
393
394 @Override
395 public final Stream<P_OUT> sorted(Comparator<? super P_OUT> comparator) {
396 return SortedOps.makeRef(this, comparator);
397 }
398
399 @Override
400 public Stream<P_OUT> limit(long maxSize) {
401 if (maxSize < 0)
402 throw new IllegalArgumentException(Long.toString(maxSize));
403 return SliceOps.makeRef(this, 0, maxSize);
404 }
405
406 @Override
407 public final Stream<P_OUT> skip(long n) {
408 if (n < 0)
409 throw new IllegalArgumentException(Long.toString(n));
410 if (n == 0)
411 return this;
412 else
413 return SliceOps.makeRef(this, n, -1);
414 }
415
416 @Override
417 public final Stream<P_OUT> takeWhile(Predicate<? super P_OUT> predicate) {
418 return WhileOps.makeTakeWhileRef(this, predicate);
419 }
420
|