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
ConstructorsConstructorDescriptionIterableStream(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, waitMethods 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- Iffluxisnull.
-
IterableStream
Creates an instance with the givenIterable.- Parameters:
iterable- Collection of items to iterate over.- Throws:
NullPointerException- Ifiterableisnull.
-
-
Method Details
-
stream
Utility function to provideStreamof valueT.- Returns:
Streamof valueT.
-
iterator
Utility function to provideIteratorof valueT. -
of
Creates anIterableStreamfrom anIterable.An empty
IterableStreamwill 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
IterableStreambased on the passed collection.
-