public class StreamGroovyMethods extends Object
| Type Params | Return Type | Name and description |
|---|---|---|
|
public static DoubleStream |
doubleStream(double[] self)Returns a sequential DoubleStream with the specified array as its source. |
|
public void |
forEachRemaining(Consumer<? super T> action) |
<T> |
public static Stream<T> |
from(Stream<T> self, IntRange range)Returns a (possibly empty) stream. |
<T> |
public static Stream<T> |
from(Stream<T> self, EmptyRange range)Returns an empty stream. |
<T> |
public static T |
getAt(Stream<T> self, int index)Returns element at index or null. |
<T> |
public static List<T> |
getAt(Stream<T> self, IntRange range)Returns element(s) in range or an empty list. |
<T> |
public static List<T> |
getAt(Stream<T> self, EmptyRange range)Returns an empty list. |
|
public static IntStream |
intStream(int[] self)Returns a sequential IntStream with the specified array as its source. |
|
public static LongStream |
longStream(long[] self)Returns a sequential LongStream with the specified array as its source. |
<T> |
public static Stream<T> |
plus(Stream<? extends T> lhs, Collection<? extends T> rhs)Returns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the Collection object. |
<T> |
public static Stream<T> |
plus(Stream<? extends T> lhs, Iterable<? extends T> rhs)Returns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the Iterable object. |
<T> |
public static Stream<T> |
plus(Stream<? extends T> lhs, Stream<? extends T> rhs)Returns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the second stream. |
<T> |
public static Stream<T> |
stream(T self)Returns a sequential Stream containing a single element. |
<T> |
public static Stream<T> |
stream(T[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Integer> |
stream(int[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Long> |
stream(long[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Double> |
stream(double[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Character> |
stream(char[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Byte> |
stream(byte[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Short> |
stream(short[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Boolean> |
stream(boolean[] self)Returns a sequential Stream with the specified array as its source. |
|
public static Stream<Float> |
stream(float[] self)Returns a sequential Stream with the specified array as its source. |
<T> |
public static Stream<T> |
stream(Enumeration<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> |
public static Stream<T> |
stream(Iterable<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> |
public static Stream<T> |
stream(Iterator<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> |
public static Stream<T> |
stream(Spliterator<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> |
public static Stream<T> |
stream(NullObject self)Returns an empty sequential Stream. |
<T> |
public static Stream<T> |
stream(Optional<T> self)If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream. |
|
public static IntStream |
stream(OptionalInt self)If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream. |
|
public static LongStream |
stream(OptionalLong self)If a value is present in the OptionalLong, returns a LongStream with the value as its source or else an empty stream. |
|
public static DoubleStream |
stream(OptionalDouble self)If a value is present in the OptionalDouble, returns a DoubleStream with the value as its source or else an empty stream. |
<T> |
public static T[] |
toArray(Stream<? extends T> self, Class<T> type)Returns an array containing the elements of the stream. |
<T> |
public static List<T> |
toList(Stream<T> self)Accumulates the elements of stream into a new List. |
<T> |
public static List<T> |
toList(BaseStream<T, ? extends BaseStream> self)Accumulates the elements of stream into a new List. |
<T> |
public static Set<T> |
toSet(Stream<T> self)Accumulates the elements of stream into a new Set. |
<T> |
public static Set<T> |
toSet(BaseStream<T, ? extends BaseStream> self)Accumulates the elements of stream into a new Set. |
|
public boolean |
tryAdvance(Consumer<? super T> action) |
Returns a sequential DoubleStream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a (possibly empty) stream.
This is a short-circuiting intermediate operation.
import java.util.stream.Stream
import static groovy.test.GroovyAssert.shouldFail
Stream<String> stream = ['foo','bar','baz'].stream()
shouldFail(IllegalArgumentException) { stream.from(-1..0) }
stream = ['foo','bar','baz'].stream()
shouldFail(IllegalArgumentException) { stream.from(0..-1) }
stream = ['foo','bar','baz'].stream()
assert stream.from(0..<1).toList() == ['foo']
stream = ['foo','bar','baz'].stream()
assert stream.from(1..<2).toList() == ['bar']
stream = ['foo','bar','baz'].stream()
assert stream.from(2..<3).toList() == ['baz']
stream = ['foo','bar','baz'].stream()
assert stream.from(3..<4).toList() == []
stream = ['foo','bar','baz'].stream()
assert stream.from(0<..2).toList() == ['bar','baz']
stream = ['foo','bar','baz'].stream()
assert stream.from(0<..<2).toList() == ['bar']
stream = ['foo','bar','baz'].stream()
assert stream.from(0..99).toList() == ['foo','bar','baz']
Returns an empty stream.
import java.util.stream.Stream Stream<String> stream = ['foo','bar','baz'].stream() assert !stream.from(1..<1).findAny().isPresent()
Returns element at index or null.
This is a short-circuiting terminal operation.
import java.util.stream.Stream import static groovy.test.GroovyAssert.shouldFail Streamstream = ['foo','bar','baz'].stream() shouldFail(IllegalArgumentException) { stream[-1] } stream = ['foo','bar','baz'].stream() assert stream[0] == 'foo' stream = ['foo','bar','baz'].stream() assert stream[1] == 'bar' stream = ['foo','bar','baz'].stream() assert stream[2] == 'baz' stream = ['foo','bar','baz'].stream() assert stream[3] === null
index is negative Returns element(s) in range or an empty list.
This is a short-circuiting terminal operation.
import java.util.stream.Stream
import static groovy.test.GroovyAssert.shouldFail
Stream<String> stream = ['foo','bar','baz'].stream()
shouldFail(IllegalArgumentException) { stream[-1..0] }
stream = ['foo','bar','baz'].stream()
shouldFail(IllegalArgumentException) { stream[0..-1] }
stream = ['foo','bar','baz'].stream()
assert stream[0..<1] == ['foo']
stream = ['foo','bar','baz'].stream()
assert stream[1..<2] == ['bar']
stream = ['foo','bar','baz'].stream()
assert stream[2..<3] == ['baz']
stream = ['foo','bar','baz'].stream()
assert stream[3..<4] == []
stream = ['foo','bar','baz'].stream()
assert stream[0<..2] == ['bar','baz']
stream = ['foo','bar','baz'].stream()
assert stream[0..99] == ['foo','bar','baz']
Returns an empty list.
import java.util.stream.Stream Stream<String> stream = ['foo','bar','baz'].stream() assert stream[1..<1].isEmpty()
Returns a sequential IntStream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential LongStream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the Collection object.
import java.util.stream.Stream assert (Stream.of(1) + [2]).toList() == [1,2] assert (Stream.of(1) + []).toList() == [1]
Returns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the Iterable object.
import java.util.stream.Stream assert (Stream.of(1) + [2]).toList() == [1,2] assert (Stream.of(1) + []).toList() == [1]
Returns a lazily concatenated stream whose elements are all the elements of this stream followed by all the elements of the second stream.
import java.util.stream.Stream assert (Stream.of(1) + Stream.<Integer>empty()).toList() == [1] assert (Stream.of(1) + Stream.of(2)).toList() == [1,2] assert (Stream.of(1) + [2].stream()).toList() == [1,2]
Returns a sequential Stream containing a single element.
def item = 'string' assert item.stream().toList() == ['string'] assert item.stream().findFirst().isPresent()
Returns a sequential Stream with the specified array as its source.
T - The type of the array elementsself - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified array as its source.
self - The array, assumed to be unmodified during useStream for the arrayReturns a sequential Stream with the specified element(s) as its source.
def tokens = new StringTokenizer('one two')
assert tokens.stream().toList() == ['one', 'two']
Returns a sequential Stream with the specified element(s) as its source.
class Items implements Iterable{ Iterator<String> iterator() { ['one', 'two'].iterator() } } def items = new Items() assert items.stream().toList() == ['one', 'two']
Returns a sequential Stream with the specified element(s) as its source.
[].iterator().stream().toList().isEmpty() ['one', 'two'].iterator().stream().toList() == ['one', 'two']
Returns a sequential Stream with the specified element(s) as its source.
assert [].spliterator().stream().toList().isEmpty() assert ['one', 'two'].spliterator().stream().toList() == ['one', 'two']
Returns an empty sequential Stream.
def item = null assert item.stream().toList() == [] assert !item.stream().findFirst().isPresent()
If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream.
If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream.
If a value is present in the OptionalLong, returns a LongStream with the value as its source or else an empty stream.
If a value is present in the OptionalDouble, returns a DoubleStream with the value as its source or else an empty stream.
Returns an array containing the elements of the stream.
import static groovy.test.GroovyAssert.shouldFail
assert Arrays.equals([].stream().toArray(Object), new Object[0])
assert Arrays.equals([].stream().toArray(String), new String[0])
assert Arrays.equals([].stream().toArray(String[]), new String[0][])
assert Arrays.equals(['x'].stream().toArray(Object), ['x'].toArray())
assert Arrays.equals(['x'].stream().toArray(String), ['x'] as String[])
assert Arrays.deepEquals([['x'] as String[]].stream().toArray(String[]), [['x'] as String[]] as String[][])
assert Arrays.equals(['x'].stream().toArray(CharSequence), ['x'] as CharSequence[])
shouldFail(ArrayStoreException) {
['x'].stream().toArray(Thread)
}
shouldFail(IllegalArgumentException) {
['x'].stream().toArray((Class) null)
}
// Stream#toArray(IntFunction) should still be used for closure literal:
assert Arrays.equals(['x'].stream().toArray { n -> new String[n] }, ['x'] as String[])
// Stream#toArray(IntFunction) should still be used for method reference:
assert Arrays.equals(['x'].stream().toArray(String[]::new), ['x'] as String[])
self - the streamtype - the array element typeAccumulates the elements of stream into a new List.
self - the streamT - the type of elementjava.util.List instanceAccumulates the elements of stream into a new List.
self - the java.util.stream.BaseStreamT - the type of elementjava.util.List instanceAccumulates the elements of stream into a new Set.
self - the streamT - the type of elementjava.util.Set instanceAccumulates the elements of stream into a new Set.
self - the java.util.stream.BaseStreamT - the type of elementjava.util.Set instance