jdk/src/java.base/share/classes/java/util/Spliterators.java
changeset 32649 2ee9017c7597
parent 31727 743f1a0eb005
equal deleted inserted replaced
32648:1fa861caf840 32649:2ee9017c7597
   831         return new Adapter();
   831         return new Adapter();
   832     }
   832     }
   833 
   833 
   834     // Implementations
   834     // Implementations
   835 
   835 
   836     private static abstract class EmptySpliterator<T, S extends Spliterator<T>, C> {
   836     private abstract static class EmptySpliterator<T, S extends Spliterator<T>, C> {
   837 
   837 
   838         EmptySpliterator() { }
   838         EmptySpliterator() { }
   839 
   839 
   840         public S trySplit() {
   840         public S trySplit() {
   841             return null;
   841             return null;
  1251      * available to use.
  1251      * available to use.
  1252      *
  1252      *
  1253      * @see #spliterator(Iterator, long, int)
  1253      * @see #spliterator(Iterator, long, int)
  1254      * @since 1.8
  1254      * @since 1.8
  1255      */
  1255      */
  1256     public static abstract class AbstractSpliterator<T> implements Spliterator<T> {
  1256     public abstract static class AbstractSpliterator<T> implements Spliterator<T> {
  1257         static final int BATCH_UNIT = 1 << 10;  // batch array size increment
  1257         static final int BATCH_UNIT = 1 << 10;  // batch array size increment
  1258         static final int MAX_BATCH = 1 << 25;  // max batch array size;
  1258         static final int MAX_BATCH = 1 << 25;  // max batch array size;
  1259         private final int characteristics;
  1259         private final int characteristics;
  1260         private long est;             // size estimate
  1260         private long est;             // size estimate
  1261         private int batch;            // batch size for splits
  1261         private int batch;            // batch size for splits
  1374      * iterator available to use then there is no need to extend this class.
  1374      * iterator available to use then there is no need to extend this class.
  1375      *
  1375      *
  1376      * @see #spliterator(java.util.PrimitiveIterator.OfInt, long, int)
  1376      * @see #spliterator(java.util.PrimitiveIterator.OfInt, long, int)
  1377      * @since 1.8
  1377      * @since 1.8
  1378      */
  1378      */
  1379     public static abstract class AbstractIntSpliterator implements Spliterator.OfInt {
  1379     public abstract static class AbstractIntSpliterator implements Spliterator.OfInt {
  1380         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1380         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1381         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1381         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1382         private final int characteristics;
  1382         private final int characteristics;
  1383         private long est;             // size estimate
  1383         private long est;             // size estimate
  1384         private int batch;            // batch size for splits
  1384         private int batch;            // batch size for splits
  1484      * iterator available to use then there is no need to extend this class.
  1484      * iterator available to use then there is no need to extend this class.
  1485      *
  1485      *
  1486      * @see #spliterator(java.util.PrimitiveIterator.OfLong, long, int)
  1486      * @see #spliterator(java.util.PrimitiveIterator.OfLong, long, int)
  1487      * @since 1.8
  1487      * @since 1.8
  1488      */
  1488      */
  1489     public static abstract class AbstractLongSpliterator implements Spliterator.OfLong {
  1489     public abstract static class AbstractLongSpliterator implements Spliterator.OfLong {
  1490         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1490         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1491         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1491         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1492         private final int characteristics;
  1492         private final int characteristics;
  1493         private long est;             // size estimate
  1493         private long est;             // size estimate
  1494         private int batch;            // batch size for splits
  1494         private int batch;            // batch size for splits
  1594      * iterator available to use then there is no need to extend this class.
  1594      * iterator available to use then there is no need to extend this class.
  1595      *
  1595      *
  1596      * @see #spliterator(java.util.PrimitiveIterator.OfDouble, long, int)
  1596      * @see #spliterator(java.util.PrimitiveIterator.OfDouble, long, int)
  1597      * @since 1.8
  1597      * @since 1.8
  1598      */
  1598      */
  1599     public static abstract class AbstractDoubleSpliterator implements Spliterator.OfDouble {
  1599     public abstract static class AbstractDoubleSpliterator implements Spliterator.OfDouble {
  1600         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1600         static final int MAX_BATCH = AbstractSpliterator.MAX_BATCH;
  1601         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1601         static final int BATCH_UNIT = AbstractSpliterator.BATCH_UNIT;
  1602         private final int characteristics;
  1602         private final int characteristics;
  1603         private long est;             // size estimate
  1603         private long est;             // size estimate
  1604         private int batch;            // batch size for splits
  1604         private int batch;            // batch size for splits