首先,你的 Arrays.asList() 方法写错了,应该是 c.addAll(Arrays.asList(elements))其次,你可以看下 Collections.addAll() 的源码: but this method is likely * to run significantly faster under most implementations. * * <p>When elements are specified individually, this method provides a * convenient way to add a few elements to an existing collection: * <pre> * Collections.addAll(flavors, "Peaches 'n Plutonium", "Rocky Racoon"); * </pre>源码上说的是在大多数情况下会更快,尤其实在元素有特别分离的时候。
用源码里的例子:Collections.addAll(flavors, "Peaches 'n Plutonium", "Rocky Racoon"); 你可以测试下,确实是 Collections.addAll() 更快速 package bbs0903;import java.util.*;public class Collectionaddall { public static void main(String[] args) { long count = 100000000; long start = System.currentTimeMillis(); for (int i = 0; i < count; ++i) { List<String> li = new ArrayList<String>(); li.addAll(Arrays.asList( "Peaches 'n Plutonium", "Rocky Racoon")); } System.out.println(System.currentTimeMillis() - start); start = System.currentTimeMillis(); for (int i = 0; i < count; ++i) { List<String> li = new ArrayList<String>(); Collections.addAll(li, "Peaches 'n Plutonium", "Rocky Racoon"); } System.out.println(System.currentTimeMillis() - start); }}
but this method is likely
* to run significantly faster under most implementations.
*
* <p>When elements are specified individually, this method provides a
* convenient way to add a few elements to an existing collection:
* <pre>
* Collections.addAll(flavors, "Peaches 'n Plutonium", "Rocky Racoon");
* </pre>源码上说的是在大多数情况下会更快,尤其实在元素有特别分离的时候。
package bbs0903;import java.util.*;public class Collectionaddall { public static void main(String[] args) {
long count = 100000000;
long start = System.currentTimeMillis();
for (int i = 0; i < count; ++i) {
List<String> li = new ArrayList<String>();
li.addAll(Arrays.asList( "Peaches 'n Plutonium", "Rocky Racoon"));
}
System.out.println(System.currentTimeMillis() - start); start = System.currentTimeMillis();
for (int i = 0; i < count; ++i) {
List<String> li = new ArrayList<String>();
Collections.addAll(li, "Peaches 'n Plutonium", "Rocky Racoon");
}
System.out.println(System.currentTimeMillis() - start);
}}