0
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Sample {
Calendar cal = Calendar.getInstance();
void getData(ArrayList<InvoiceBillingProjects> projectDataList){
//System.out.println("start");
long start = System.nanoTime();
Iterator<InvoiceBillingProjects> itr = projectDataList.iterator();
while(itr.hasNext()){
// InvoiceBillingProjects ibpp = itr.next();
itr.next().getDescription();
}
/*for(int i=0;i<projectDataList.size();i++){
projectDataList.get(i).getDescription();
}*/
long end = System.nanoTime();
System.out.println(" time "+(end-start));
}
public static void main(String arg[]) {
ArrayList<InvoiceBillingProjects> projectDataList = new ArrayList<InvoiceBillingProjects>();
List<InvAssociateDetails> lt = new LinkedList<InvAssociateDetails>();
for(int i=0;i<120000;i++){
lt.add(new InvAssociateDetails());
//new InvoiceBillingProjects().setAssociateList(lt);
}
for(int i=0;i<120000;i++){
InvoiceBillingProjects ibp = new InvoiceBillingProjects();
projectDataList.add(ibp);
ibp.setAssociateList(lt);
}
new Sample().getData(projectDataList);
}
}
forループよりもイテレータを使用すると、リスト全体の検索が高速になります。上記のプログラムでは、繰り返しの開始から終了までの時間が長くなります。イテレータの使用に時間がかかるのはなぜですか?Iteratorとforループを使用してリスト全体を検索します。時間の複雑さ
ありがとうArthuruhtrA、LinkedListとArray ListとしてList of Implementationを使用すると、私が期待していた時間の結果から得ました。私の悪い:) –