本人小渣一个,只是在学习过程中看见人们都在比较ArrayList与LinkedList添加数据的效率,于是实验了一下
代码如下:
public class CollectionTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int DataNum=sc.nextInt();
ArraylisTest(DataNum);
LinkedlistTest(DataNum);
}
public static void ArraylisTest(int DataNum)
{
ArrayList<String> list=new <String>ArrayList();
int i=0;
long timeStart=System.currentTimeMillis();
while(i<DataNum)
{
list.add(i+"shisdflksdfjsdfjklas");
i++;
}
long timeEnd=System.currentTimeMillis();
System.out.println("array时间"+(timeEnd-timeStart));
}
public static void LinkedlistTest(int DataNum)
{
LinkedList<String> list=new <String>LinkedList();
int i=0;
long timeStart=System.currentTimeMillis();
while(i<DataNum)
{
list.add(i+"shisdflksdfjsdfjklas");
i++;
}
long timeEnd=System.currentTimeMillis();
System.out.println("linked时间"+(timeEnd-timeStart));
}
}
1)当数据量为2w级别
array时间16
linked时间32
2)当数据量为20w级别
array时间234
linked时间282
3)当数据量为200w级别
array时间50516
linked时间9750
经过比较随着数据量的增加AL的添加数据的代价逐渐凸显,在20级别AL与LL添加效率逐渐相等,之后便是LL的天下了。:)
首次写还望海涵!!!