diff --git a/api/current.txt b/api/current.txt index 2a09d814d6cb4..001128a3764c1 100644 --- a/api/current.txt +++ b/api/current.txt @@ -48565,6 +48565,7 @@ package java.lang { public abstract interface Iterable { method public default void forEach(java.util.function.Consumer); method public abstract java.util.Iterator iterator(); + method public default java.util.Spliterator spliterator(); } public class LinkageError extends java.lang.Error { @@ -49410,6 +49411,25 @@ package java.lang.annotation { } +package java.lang.invoke { + + public final class SerializedLambda implements java.io.Serializable { + ctor public SerializedLambda(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[]); + method public java.lang.Object getCapturedArg(int); + method public int getCapturedArgCount(); + method public java.lang.String getCapturingClass(); + method public java.lang.String getFunctionalInterfaceClass(); + method public java.lang.String getFunctionalInterfaceMethodName(); + method public java.lang.String getFunctionalInterfaceMethodSignature(); + method public java.lang.String getImplClass(); + method public int getImplMethodKind(); + method public java.lang.String getImplMethodName(); + method public java.lang.String getImplMethodSignature(); + method public final java.lang.String getInstantiatedMethodType(); + } + +} + package java.lang.ref { public class PhantomReference extends java.lang.ref.Reference { @@ -54988,6 +55008,7 @@ package java.util { method public E removeLast(); method public boolean removeLastOccurrence(java.lang.Object); method public int size(); + method public java.util.Spliterator spliterator(); } public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable { @@ -54999,6 +55020,7 @@ package java.util { method public void forEach(java.util.function.Consumer); method public E get(int); method public int size(); + method public java.util.Spliterator spliterator(); method public void trimToSize(); } @@ -55099,6 +55121,14 @@ package java.util { method public static void sort(java.lang.Object[], int, int); method public static void sort(T[], java.util.Comparator); method public static void sort(T[], int, int, java.util.Comparator); + method public static java.util.Spliterator spliterator(T[]); + method public static java.util.Spliterator spliterator(T[], int, int); + method public static java.util.Spliterator.OfInt spliterator(int[]); + method public static java.util.Spliterator.OfInt spliterator(int[], int, int); + method public static java.util.Spliterator.OfLong spliterator(long[]); + method public static java.util.Spliterator.OfLong spliterator(long[], int, int); + method public static java.util.Spliterator.OfDouble spliterator(double[]); + method public static java.util.Spliterator.OfDouble spliterator(double[], int, int); method public static java.lang.String toString(long[]); method public static java.lang.String toString(int[]); method public static java.lang.String toString(short[]); @@ -55598,6 +55628,7 @@ package java.util { method public java.lang.Object clone(); method public java.util.Iterator iterator(); method public int size(); + method public java.util.Spliterator spliterator(); } public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable { @@ -55742,6 +55773,7 @@ package java.util { method public E removeLast(); method public boolean removeLastOccurrence(java.lang.Object); method public int size(); + method public java.util.Spliterator spliterator(); } public abstract interface List implements java.util.Collection { @@ -55908,6 +55940,8 @@ package java.util { } public static abstract interface Map.Entry { + method public static java.util.Comparator> comparingByKey(); + method public static java.util.Comparator> comparingByKey(java.util.Comparator); method public abstract boolean equals(java.lang.Object); method public abstract K getKey(); method public abstract V getValue(); @@ -56086,6 +56120,7 @@ package java.util { public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable { ctor public PriorityQueue(); ctor public PriorityQueue(int); + ctor public PriorityQueue(java.util.Comparator); ctor public PriorityQueue(int, java.util.Comparator); ctor public PriorityQueue(java.util.Collection); ctor public PriorityQueue(java.util.PriorityQueue); @@ -56096,6 +56131,7 @@ package java.util { method public E peek(); method public E poll(); method public int size(); + method public final java.util.Spliterator spliterator(); } public class Properties extends java.util.Hashtable { @@ -56338,6 +56374,111 @@ package java.util { method public abstract java.util.SortedSet tailSet(E); } + public abstract interface Spliterator { + method public abstract int characteristics(); + method public abstract long estimateSize(); + method public default void forEachRemaining(java.util.function.Consumer); + method public default java.util.Comparator getComparator(); + method public default long getExactSizeIfKnown(); + method public default boolean hasCharacteristics(int); + method public abstract boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator trySplit(); + field public static final int CONCURRENT = 4096; // 0x1000 + field public static final int DISTINCT = 1; // 0x1 + field public static final int IMMUTABLE = 1024; // 0x400 + field public static final int NONNULL = 256; // 0x100 + field public static final int ORDERED = 16; // 0x10 + field public static final int SIZED = 64; // 0x40 + field public static final int SORTED = 4; // 0x4 + field public static final int SUBSIZED = 16384; // 0x4000 + } + + public static abstract interface Spliterator.OfDouble implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.DoubleConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.DoubleConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfDouble trySplit(); + } + + public static abstract interface Spliterator.OfInt implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.IntConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.IntConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfInt trySplit(); + } + + public static abstract interface Spliterator.OfLong implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.LongConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.LongConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfLong trySplit(); + } + + public static abstract interface Spliterator.OfPrimitive implements java.util.Spliterator { + method public default void forEachRemaining(T_CONS); + method public abstract boolean tryAdvance(T_CONS); + method public abstract T_SPLITR trySplit(); + } + + public final class Spliterators { + method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator(); + method public static java.util.Spliterator.OfInt emptyIntSpliterator(); + method public static java.util.Spliterator.OfLong emptyLongSpliterator(); + method public static java.util.Spliterator emptySpliterator(); + method public static java.util.Iterator iterator(java.util.Spliterator); + method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt); + method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong); + method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble); + method public static java.util.Spliterator spliterator(java.lang.Object[], int); + method public static java.util.Spliterator spliterator(java.lang.Object[], int, int, int); + method public static java.util.Spliterator.OfInt spliterator(int[], int); + method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int); + method public static java.util.Spliterator.OfLong spliterator(long[], int); + method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int); + method public static java.util.Spliterator.OfDouble spliterator(double[], int); + method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int); + method public static java.util.Spliterator spliterator(java.util.Collection, int); + method public static java.util.Spliterator spliterator(java.util.Iterator, long, int); + method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int); + method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int); + method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int); + method public static java.util.Spliterator spliteratorUnknownSize(java.util.Iterator, int); + method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int); + method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int); + method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int); + } + + public static abstract class Spliterators.AbstractDoubleSpliterator implements java.util.Spliterator.OfDouble { + ctor protected Spliterators.AbstractDoubleSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfDouble trySplit(); + } + + public static abstract class Spliterators.AbstractIntSpliterator implements java.util.Spliterator.OfInt { + ctor protected Spliterators.AbstractIntSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfInt trySplit(); + } + + public static abstract class Spliterators.AbstractLongSpliterator implements java.util.Spliterator.OfLong { + ctor protected Spliterators.AbstractLongSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfLong trySplit(); + } + + public static abstract class Spliterators.AbstractSpliterator implements java.util.Spliterator { + ctor protected Spliterators.AbstractSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator trySplit(); + } + public class Stack extends java.util.Vector { ctor public Stack(); method public boolean empty(); @@ -56477,6 +56618,7 @@ package java.util { method public E pollFirst(); method public E pollLast(); method public int size(); + method public java.util.Spliterator spliterator(); method public java.util.NavigableSet subSet(E, boolean, E, boolean); method public java.util.SortedSet subSet(E, E); method public java.util.NavigableSet tailSet(E, boolean); @@ -56533,6 +56675,7 @@ package java.util { method public synchronized void setElementAt(E, int); method public synchronized void setSize(int); method public synchronized int size(); + method public java.util.Spliterator spliterator(); method public synchronized void trimToSize(); field protected int capacityIncrement; field protected int elementCount; diff --git a/api/system-current.txt b/api/system-current.txt index 5dc6caea2f627..d71543e900023 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -51183,6 +51183,7 @@ package java.lang { public abstract interface Iterable { method public default void forEach(java.util.function.Consumer); method public abstract java.util.Iterator iterator(); + method public default java.util.Spliterator spliterator(); } public class LinkageError extends java.lang.Error { @@ -52028,6 +52029,25 @@ package java.lang.annotation { } +package java.lang.invoke { + + public final class SerializedLambda implements java.io.Serializable { + ctor public SerializedLambda(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[]); + method public java.lang.Object getCapturedArg(int); + method public int getCapturedArgCount(); + method public java.lang.String getCapturingClass(); + method public java.lang.String getFunctionalInterfaceClass(); + method public java.lang.String getFunctionalInterfaceMethodName(); + method public java.lang.String getFunctionalInterfaceMethodSignature(); + method public java.lang.String getImplClass(); + method public int getImplMethodKind(); + method public java.lang.String getImplMethodName(); + method public java.lang.String getImplMethodSignature(); + method public final java.lang.String getInstantiatedMethodType(); + } + +} + package java.lang.ref { public class PhantomReference extends java.lang.ref.Reference { @@ -57606,6 +57626,7 @@ package java.util { method public E removeLast(); method public boolean removeLastOccurrence(java.lang.Object); method public int size(); + method public java.util.Spliterator spliterator(); } public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable { @@ -57617,6 +57638,7 @@ package java.util { method public void forEach(java.util.function.Consumer); method public E get(int); method public int size(); + method public java.util.Spliterator spliterator(); method public void trimToSize(); } @@ -57717,6 +57739,14 @@ package java.util { method public static void sort(java.lang.Object[], int, int); method public static void sort(T[], java.util.Comparator); method public static void sort(T[], int, int, java.util.Comparator); + method public static java.util.Spliterator spliterator(T[]); + method public static java.util.Spliterator spliterator(T[], int, int); + method public static java.util.Spliterator.OfInt spliterator(int[]); + method public static java.util.Spliterator.OfInt spliterator(int[], int, int); + method public static java.util.Spliterator.OfLong spliterator(long[]); + method public static java.util.Spliterator.OfLong spliterator(long[], int, int); + method public static java.util.Spliterator.OfDouble spliterator(double[]); + method public static java.util.Spliterator.OfDouble spliterator(double[], int, int); method public static java.lang.String toString(long[]); method public static java.lang.String toString(int[]); method public static java.lang.String toString(short[]); @@ -58216,6 +58246,7 @@ package java.util { method public java.lang.Object clone(); method public java.util.Iterator iterator(); method public int size(); + method public java.util.Spliterator spliterator(); } public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable { @@ -58360,6 +58391,7 @@ package java.util { method public E removeLast(); method public boolean removeLastOccurrence(java.lang.Object); method public int size(); + method public java.util.Spliterator spliterator(); } public abstract interface List implements java.util.Collection { @@ -58526,6 +58558,8 @@ package java.util { } public static abstract interface Map.Entry { + method public static java.util.Comparator> comparingByKey(); + method public static java.util.Comparator> comparingByKey(java.util.Comparator); method public abstract boolean equals(java.lang.Object); method public abstract K getKey(); method public abstract V getValue(); @@ -58704,6 +58738,7 @@ package java.util { public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable { ctor public PriorityQueue(); ctor public PriorityQueue(int); + ctor public PriorityQueue(java.util.Comparator); ctor public PriorityQueue(int, java.util.Comparator); ctor public PriorityQueue(java.util.Collection); ctor public PriorityQueue(java.util.PriorityQueue); @@ -58714,6 +58749,7 @@ package java.util { method public E peek(); method public E poll(); method public int size(); + method public final java.util.Spliterator spliterator(); } public class Properties extends java.util.Hashtable { @@ -58956,6 +58992,111 @@ package java.util { method public abstract java.util.SortedSet tailSet(E); } + public abstract interface Spliterator { + method public abstract int characteristics(); + method public abstract long estimateSize(); + method public default void forEachRemaining(java.util.function.Consumer); + method public default java.util.Comparator getComparator(); + method public default long getExactSizeIfKnown(); + method public default boolean hasCharacteristics(int); + method public abstract boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator trySplit(); + field public static final int CONCURRENT = 4096; // 0x1000 + field public static final int DISTINCT = 1; // 0x1 + field public static final int IMMUTABLE = 1024; // 0x400 + field public static final int NONNULL = 256; // 0x100 + field public static final int ORDERED = 16; // 0x10 + field public static final int SIZED = 64; // 0x40 + field public static final int SORTED = 4; // 0x4 + field public static final int SUBSIZED = 16384; // 0x4000 + } + + public static abstract interface Spliterator.OfDouble implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.DoubleConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.DoubleConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfDouble trySplit(); + } + + public static abstract interface Spliterator.OfInt implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.IntConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.IntConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfInt trySplit(); + } + + public static abstract interface Spliterator.OfLong implements java.util.Spliterator.OfPrimitive { + method public default void forEachRemaining(java.util.function.LongConsumer); + method public default void forEachRemaining(java.util.function.Consumer); + method public abstract boolean tryAdvance(java.util.function.LongConsumer); + method public default boolean tryAdvance(java.util.function.Consumer); + method public abstract java.util.Spliterator.OfLong trySplit(); + } + + public static abstract interface Spliterator.OfPrimitive implements java.util.Spliterator { + method public default void forEachRemaining(T_CONS); + method public abstract boolean tryAdvance(T_CONS); + method public abstract T_SPLITR trySplit(); + } + + public final class Spliterators { + method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator(); + method public static java.util.Spliterator.OfInt emptyIntSpliterator(); + method public static java.util.Spliterator.OfLong emptyLongSpliterator(); + method public static java.util.Spliterator emptySpliterator(); + method public static java.util.Iterator iterator(java.util.Spliterator); + method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt); + method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong); + method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble); + method public static java.util.Spliterator spliterator(java.lang.Object[], int); + method public static java.util.Spliterator spliterator(java.lang.Object[], int, int, int); + method public static java.util.Spliterator.OfInt spliterator(int[], int); + method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int); + method public static java.util.Spliterator.OfLong spliterator(long[], int); + method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int); + method public static java.util.Spliterator.OfDouble spliterator(double[], int); + method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int); + method public static java.util.Spliterator spliterator(java.util.Collection, int); + method public static java.util.Spliterator spliterator(java.util.Iterator, long, int); + method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int); + method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int); + method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int); + method public static java.util.Spliterator spliteratorUnknownSize(java.util.Iterator, int); + method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int); + method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int); + method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int); + } + + public static abstract class Spliterators.AbstractDoubleSpliterator implements java.util.Spliterator.OfDouble { + ctor protected Spliterators.AbstractDoubleSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfDouble trySplit(); + } + + public static abstract class Spliterators.AbstractIntSpliterator implements java.util.Spliterator.OfInt { + ctor protected Spliterators.AbstractIntSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfInt trySplit(); + } + + public static abstract class Spliterators.AbstractLongSpliterator implements java.util.Spliterator.OfLong { + ctor protected Spliterators.AbstractLongSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfLong trySplit(); + } + + public static abstract class Spliterators.AbstractSpliterator implements java.util.Spliterator { + ctor protected Spliterators.AbstractSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator trySplit(); + } + public class Stack extends java.util.Vector { ctor public Stack(); method public boolean empty(); @@ -59095,6 +59236,7 @@ package java.util { method public E pollFirst(); method public E pollLast(); method public int size(); + method public java.util.Spliterator spliterator(); method public java.util.NavigableSet subSet(E, boolean, E, boolean); method public java.util.SortedSet subSet(E, E); method public java.util.NavigableSet tailSet(E, boolean); @@ -59151,6 +59293,7 @@ package java.util { method public synchronized void setElementAt(E, int); method public synchronized void setSize(int); method public synchronized int size(); + method public java.util.Spliterator spliterator(); method public synchronized void trimToSize(); field protected int capacityIncrement; field protected int elementCount;