Here you can find the source of newArrayList(Collection extends K> c)
public static final <K> ArrayList<K> newArrayList(Collection<? extends K> c)
//package com.java2s; import java.util.ArrayList; import java.util.Collection; public class Main { /**//from w w w. j a v a2 s. com * Creates a new {@link ArrayList} by examining the expected return type. */ public static final <K> ArrayList<K> newArrayList() { return new ArrayList<K>(); } /** * Creates a new {@link ArrayList} containing the elements of the specified * collection, in order. * * @see {@link ArrayList#ArrayList(Collection)}. */ public static final <K> ArrayList<K> newArrayList(Collection<? extends K> c) { return new ArrayList<K>(c); } }