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.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