Raj*_*esh 6 java collections list arraylist memory-efficient
哪一个更有效地实例化列表?
List<Type> list = new ArrayList<Type>(2);
list.add(new Type("one"));
list.add(new Type("two"));
Run Code Online (Sandbox Code Playgroud)
要么
List<Type> list = Arrays.asList(new Type("one"), new Type("two"));
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 14
他们创建不同类型的对象.new ArrayList<>()
创建一个java.util.ArrayList
,可以添加,等等.
Arrays.asList()
使用也恰好被调用的类型ArrayList
,但是是嵌套类型(java.util.Arrays$ArrayList
),并且不允许添加或删除元素.它只是包装一个数组.
现在,如果您不关心这些差异,最终会得到两个大致等效的实现,两者都在List<>
接口中包装一个数组.我会非常惊讶地看到它们在性能上有任何显着差异 - 但是,如果您有特定的性能问题,那么您应该在特定的环境中测试它们.