package com.wesabe.grendel.util; import java.util.Iterator; import java.util.List; import java.util.Set; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; /** * Utility methods for dealing with untyped {@link Iterator} instances. * * @author coda */ public final class Iterators { private Iterators() {} /** * Returns the items available via {@code iterator} as a {@link List}. */ @SuppressWarnings("unchecked") public static <T> List<T> toList(Iterator<?> iterator) { return ImmutableList.copyOf((Iterator<T>) iterator); } /** * Returns the items available via {@code iterator} as a {@link Set}. */ @SuppressWarnings("unchecked") public static <T> Set<T> toSet(Iterator<?> iterator) { return ImmutableSet.copyOf((Iterator<T>) iterator); } }