package CompareCollection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class CompareArrayListAndLinkedlist {
public static final int N=50000;
//查看两种集合查找到100这个元素所花费的时间
public long timeList(List list) {
long start=System.currentTimeMillis();
for(int i=0;i<N;i++) {
Collections.binarySearch(list,100);
}
return System.currentTimeMillis()-start;
//构建list中的值
{
Integer[] vals=new Integer[N];
for(int i=0;i<N;i++) { //一共有5万个元素
vals[i]=i;
}
values=Arrays.asList(vals);
}
public static void main(String[] args) {
//传入同一个元素集合
CompareArrayListAndLinkedlist test=new CompareArrayListAndLinkedlist();
long array=test.timeList(new ArrayList(values));
System.out.println("LinkedList所花费的时间:"+list);
}
}
/*ArrayList和LinkedList相比较,ArrayList更适合查询,速度快,LinkedList是更适合增加删除等操作
*/import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class CompareArrayListAndLinkedlist {
public static final int N=50000;
//查看两种集合查找到100这个元素所花费的时间
public long timeList(List list) {
long start=System.currentTimeMillis();
for(int i=0;i<N;i++) {
Collections.binarySearch(list,100);
}
return System.currentTimeMillis()-start;
}
public long timeListForInsert(List list) {
long start=System.currentTimeMillis();
for(int i=0;i<N;i++) {
list.add(0,100); //在指定位置插入元素
}
return System.currentTimeMillis()-start;
}
//构建list中的值
{
Integer[] vals=new Integer[N];
for(int i=0;i<N;i++) { //一共有5万个元素
vals[i]=i;
}
values=Arrays.asList(vals);
}
public static void main(String[] args) {
//传入同一个元素集合
CompareArrayListAndLinkedlist test=new CompareArrayListAndLinkedlist();
long array=test.timeList(new ArrayList(values));
long list=test.timeList(new LinkedList(values));
/*
long array=test.timeListForInsert(new ArrayList(values));
long list=test.timeListForInsert(new LinkedList(values));
*/
System.out.println("LinkedList所花费的时间:"+list);
}
}