配列の間にデータをどんどん挿入し、ArrayListとLinkedListのどちらが速いか
2251 ワード
ほとんどの人はLinkedListが速いと答えるべきだが、実際にはそうではない.
ArrayList 19 ms
LinkList 129 ms
解析はLinkListがクエリの間の位置を巡回するのに時間がかかるため、遅いかもしれません.
import java.util.*;
public class Test
{
public static void main(String[] args)
{
ArrayList<Integer> List = new ArrayList<Integer>();
long start=System.currentTimeMillis();
for( int i=0;i <10000;i++ ) // 10 Int
List.add(i/2,i);
System.out.println(System.currentTimeMillis()-start);
//System.out.println(List);
LinkedList<Integer> LList = new LinkedList<Integer>();
long startL=System.currentTimeMillis();
for( int i=0;i <10000;i++ ) // 10 Int
LList.add(i/2,i);
System.out.println(System.currentTimeMillis()-startL);
//System.out.println(LList);
}
}
ArrayList 19 ms
LinkList 129 ms
解析はLinkListがクエリの間の位置を巡回するのに時間がかかるため、遅いかもしれません.