????????????????????????????ArrayList??????????С??LinkedList??????????????????2?????LinkedList?????????????????????(random access)???????LinkedList????????????????????????LinkedList????????????????????????list???С???????????????????ArrayList?н???????????????????????????
???????????????£?
packagetestlist;
importjava.util.LinkedList;
importjava.util.List;
importjava.util.Random;
importjava.util.ArrayList;
importjava.util.Arrays;
publicclassTestList{
publicstaticfinalintN=50000;
publicstaticList<Integer>values;
static{
Integervals[]=newInteger[N];
Randomr=newRandom();
for(inti=0??currval=0;i<N;i++){
vals[i]=newInteger(currval);
currval+=r.nextInt(100)+1;
}
values=Arrays.asList(vals);
}
staticlongtimeList(List<Integer>lst){
longstart=System.currentTimeMillis();
for(inti=0;i<lst.size();i++){
lst.get(i);
}
returnSystem.currentTimeMillis()-start;
}
publicstaticvoidmain(Stringargs[]){
System.out.println("ArrayList???????"+timeList(newArrayList<Integer>(values)));
System.out.println("LinkedList???????"+timeList(newLinkedList<Integer>(values)));
}
}
?????????
????ArrayList???????0
????LinkedList???????1703
????????????ArrayList?????LinkedList??????????????????????Щ?????LinkedList??????????ArrayList????Щ????LinkedList??????Ч????????????????Collections.reverse???????б???з??????????????Щ??
????????????????????????????????б?????????д?????????????????????????????LinkedList??????????????????????????????????????????????б???????????????
package testlist;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ListDemo {
static final int N = 50000;
static long timeList(List<Object> list) {
long start = System.currentTimeMillis();
Object o = new Object();
for (int i = 0; i < N; i++)
list.add(0?? o);
return System.currentTimeMillis() - start;
}
public static void main(String[] args) {
System.out.println("ArrayList?????" + timeList(new ArrayList<Object>()));
System.out.println("LinkedList?????" + timeList(new LinkedList<Object>()));
}
}
???????????????????
????ArrayList?????1813
????LinkedList?????0
???????????????????????????????????????ArrayList??????????????????????????????????ζ?????????????????????????????????????LinkedList???????????δ??????????????????????????????????LinkedList??????????????????????????????ArrayList???????????????????????ArrayList???С????????