Java examples for Collection Framework:Iterable
Casts the Iterable to a Collection if it is one.
//package com.java2s; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; public class Main { /**//from w ww.j a v a2s . co m * Casts the {@link Iterable} to a {@link Collection} if it is one. * Otherwise it makes a shallow copy. * * @param iterable * @return the content as a collection. */ public static <T> Collection<T> asCollection(Iterable<T> iterable) { return (iterable instanceof Collection) ? (Collection<T>) iterable : shallowCopy(iterable); } /** * Generates a new {@link Iterable} that references the items of the given * {@link Iterable}. * * @param <T> * The collection item fieldClass. * @param ori * The iterable to get a shallow copy for. * @return The shallow copy. */ public static <T> List<T> shallowCopy(Iterable<T> ori) { ArrayList<T> copy = new ArrayList<T>(); for (T t : ori) { copy.add(t); } return copy; } /** * Generates a collection that references the items of the given * {@link Iterator}.<br> * The iterator should be at its start position. * * @param <T> * The collection item fieldClass. * @param iter * The iterator to get a shallow copy for. * @return The shallow copy. */ public static <T> List<T> shallowCopy(Iterator<T> iter) { ArrayList<T> copy = new ArrayList<T>(); while (iter.hasNext()) { copy.add(iter.next()); } return copy; } }