Java tutorial
//package com.java2s; import java.util.*; public class Main { public static <E> ArrayList<E> newArrayList(Iterable<? extends E> elements) { if (elements instanceof Collection) { Collection<? extends E> collection = (Collection<? extends E>) elements; return new ArrayList<E>(collection); } else { return newArrayList(elements.iterator()); } } public static <E> ArrayList<E> newArrayList(Iterator<? extends E> elements) { ArrayList<E> list = new ArrayList<E>(); while (elements.hasNext()) { list.add(elements.next()); } return list; } }