MCPcopy
hub / github.com/google/guava / cycle

Method cycle

guava/src/com/google/common/collect/Iterables.java:374–392  ·  view source on GitHub ↗

Returns an iterable whose iterators cycle indefinitely over the elements of {@code iterable}. <p>That iterator supports {@code remove()} if {@code iterable.iterator()} does. After {@code remove()} is called, subsequent cycles omit the removed element, which is no longer in {@code iterable}. The ite

(Iterable<T> iterable)

Source from the content-addressed store, hash-verified

372 * Stream.generate(() -> iterable).flatMap(Streams::stream)}.
373 */
374 public static <T extends @Nullable Object> Iterable<T> cycle(Iterable<T> iterable) {
375 checkNotNull(iterable);
376 return new FluentIterable<T>() {
377 @Override
378 public Iterator<T> iterator() {
379 return Iterators.cycle(iterable);
380 }
381
382 @Override
383 public Spliterator<T> spliterator() {
384 return Stream.generate(() -> iterable).<T>flatMap(Streams::stream).spliterator();
385 }
386
387 @Override
388 public String toString() {
389 return iterable.toString() + " (cycled)";
390 }
391 };
392 }
393
394 /**
395 * Returns an iterable whose iterators cycle indefinitely over the provided elements.

Calls 2

newArrayListMethod · 0.95
checkNotNullMethod · 0.45