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. |
|
public static long |
size(Stream<?> self) An alias for count . |
|
public static long |
size(IntStream self) An alias for count . |
|
public static long |
size(LongStream self) An alias for count . |
|
public static long |
size(DoubleStream self) An alias for count . |
<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]
An alias for count
. Returns the count of elements for this stream.
This is a terminal operator and, depending on the underlying stream, may invoke
the stream pipeline, leaving it empty after this call.
Care should be taken with stream pipelines that have side effects.
This method should not be called on an infinite stream.
assert [1, 2, 3].stream().size() == 3
self
- A Stream An alias for count
. Returns the count of elements for this stream.
This is a terminal operator and, depending on the underlying stream, may invoke
the stream pipeline, leaving it empty after this call.
Care should be taken with stream pipelines that have side effects.
This method should not be called on an infinite stream.
int[] nums = [1, 2, 3] assert nums.intStream().size() == 3
self
- An IntStream An alias for count
. Returns the count of elements for this stream.
This is a terminal operator and, depending on the underlying stream, may invoke
the stream pipeline, leaving it empty after this call.
Care should be taken with stream pipelines that have side effects.
This method should not be called on an infinite stream.
long[] nums = [1, 2, 3] assert nums.longStream().size() == 3
self
- A LongStream An alias for count
. Returns the count of elements for this stream.
This is a terminal operator and, depending on the underlying stream, may invoke
the stream pipeline, leaving it empty after this call.
Care should be taken with stream pipelines that have side effects.
This method should not be called on an infinite stream.
double[] nums = [1.0d, 2.0d, 3.0d] assert nums.doubleStream().size() == 3
self
- A DoubleStreamReturns 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.BaseStream
T
- 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.BaseStream
T
- the type of elementjava.util.Set
instance