Это то, что делает Lists.newArrayList:
@GwtCompatible(serializable = true)
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
Таким образом, эти два в основном одинаковы: преимущество newArrayList состоит в том, что они не дублируют универсальный тип.Это очень полезно для сложных дженериков:
List<Map<X,List<Y>> list = new ArrayList<Map<X,List<Y>>();
List<Map<X,List<Y>> list = Lists.newArrayList();