Package com.azure.core.util
Class IterableStream<T>
java.lang.Object
com.azure.core.util.IterableStream<T>
- Type Parameters:
T
- The type of value in thisIterable
.
- All Implemented Interfaces:
Iterable<T>
- Direct Known Subclasses:
ContinuablePagedIterable
This class provides utility to iterate over values using standard 'for-each' style loops or to convert them into a
Stream
and operate in that fashion.
Code sample using Stream
// process the stream myIterableStream.stream().forEach(resp -> { if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); } });
Code sample using Iterator
// Iterate over iterator for (PagedResponseBase<String, Integer> resp : myIterableStream) { if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); } }
Code sample using Stream and filter
// process the stream myIterableStream.stream().filter(resp -> resp.getStatusCode() == HttpURLConnection.HTTP_OK) .limit(10) .forEach(resp -> { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); });
- See Also:
-
Constructor Summary
ConstructorDescriptionIterableStream
(Iterable<T> iterable) Creates an instance with the givenIterable
.IterableStream
(Flux<T> flux) Creates an instance with the givenFlux
. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
IterableStream
Creates an instance with the givenFlux
.- Parameters:
flux
- Flux of items to iterate over.- Throws:
NullPointerException
- Ifflux
isnull
.
-
IterableStream
Creates an instance with the givenIterable
.- Parameters:
iterable
- Collection of items to iterate over.- Throws:
NullPointerException
- Ifiterable
isnull
.
-
-
Method Details
-
stream
Utility function to provideStream
of valueT
.- Returns:
Stream
of valueT
.
-
iterator
Utility function to provideIterator
of valueT
. -
of
Creates anIterableStream
from anIterable
.An empty
IterableStream
will be returned if the input iterable isnull
.- Type Parameters:
T
- The type of value in thisIterable
.- Parameters:
iterable
- Collection of items to iterate over.- Returns:
- An
IterableStream
based on the passed collection.
-