哪个使用数组列表更有效?

Which one is more efficient of using array list?

哪个实例化列表效率更高?

List<Type> list = new ArrayList<Type>(2);
list.add(new Type("one"));
list.add(new Type("two"));

List<Type> list = Arrays.asList(new Type("one"), new Type("two"));

他们创造不同类型的对象。 new ArrayList<>()创建一个java.util.ArrayList,可以添加到等等

Arrays.asList() 使用的类型恰好也称为 ArrayList,但它是嵌套类型 (java.util.Arrays$ArrayList) 而 允许添加或删除元素。它只是包装了一个数组。

现在,如果您不关心这些差异,您最终会得到两个大致等效的实现,它们都在 List<> 接口中包装了一个数组。如果看到它们在性能上有任何显着差异,我会感到非常惊讶 - 但与以往一样,如果您有 特定的 性能问题,您应该在您的特定上下文中测试它们。