jdk/src/share/classes/java/util/stream/LongPipeline.java
changeset 20866 36155ee613ef
parent 19850 93b368e54c1c
child 25526 d3cbdae6e9f9
equal deleted inserted replaced
20865:164ba3f3484b 20866:36155ee613ef
   347         };
   347         };
   348     }
   348     }
   349 
   349 
   350     // Stateful intermediate ops from LongStream
   350     // Stateful intermediate ops from LongStream
   351 
   351 
   352     private LongStream slice(long skip, long limit) {
       
   353         return SliceOps.makeLong(this, skip, limit);
       
   354     }
       
   355 
       
   356     @Override
   352     @Override
   357     public final LongStream limit(long maxSize) {
   353     public final LongStream limit(long maxSize) {
   358         if (maxSize < 0)
   354         if (maxSize < 0)
   359             throw new IllegalArgumentException(Long.toString(maxSize));
   355             throw new IllegalArgumentException(Long.toString(maxSize));
   360         return slice(0, maxSize);
   356         return SliceOps.makeLong(this, 0, maxSize);
   361     }
   357     }
   362 
   358 
   363     @Override
   359     @Override
   364     public final LongStream substream(long startingOffset) {
   360     public final LongStream skip(long n) {
   365         if (startingOffset < 0)
   361         if (n < 0)
   366             throw new IllegalArgumentException(Long.toString(startingOffset));
   362             throw new IllegalArgumentException(Long.toString(n));
   367         if (startingOffset == 0)
   363         if (n == 0)
   368             return this;
   364             return this;
   369         else
   365         else
   370             return slice(startingOffset, -1);
   366             return SliceOps.makeLong(this, n, -1);
   371     }
       
   372 
       
   373     @Override
       
   374     public final LongStream substream(long startingOffset, long endingOffset) {
       
   375         if (startingOffset < 0 || endingOffset < startingOffset)
       
   376             throw new IllegalArgumentException(String.format("substream(%d, %d)", startingOffset, endingOffset));
       
   377         return slice(startingOffset, endingOffset - startingOffset);
       
   378     }
   367     }
   379 
   368 
   380     @Override
   369     @Override
   381     public final LongStream sorted() {
   370     public final LongStream sorted() {
   382         return SortedOps.makeLong(this);
   371         return SortedOps.makeLong(this);