【Java编程思想】第十一章:持有对象
思维导图:
Q1:Collection和Collections的区别?
java.util.Collection 是一个集合接口(集合类的一个*接口)。它提供了对集合对象进行基本操作的通用接口方法。
Collections是集合类的一个工具类/帮助类。其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
Q2:Arrays.asList()与Collections.addAll()的创建Collection效率问题。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ArraysCompareCollections {
public static void main(String[] args){
long count =100000000;
long start = System.currentTimeMillis();
//use Arrays.asList()
for (int i=0;i<count;i++){
List<String> a = new ArrayList<String>();
a.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> a = new ArrayList<String>();
Collections.addAll(a,"Peaches 'n Plutonium", "Rocky Racoon");
}
System.out.println(System.currentTimeMillis()-start);
}
}
运行结果
2146
882