JAVA
190715 LinkedList예제
猫猫
2019. 7. 15. 12:44
반응형
package prj190715;
import java.util.*;
public class LinkedListTest {
///소요시간 리턴하기
public static long add1(List list) { //순차적으로 추가
long start = System.currentTimeMillis(); //1/1000 시간 얻어옴
for ( int i = 0; i<1000000; i++ ) list.add(i+"");
long end = System.currentTimeMillis();
return end - start;
}
public static long add2(List list) {//중간에 추가하기
long start = System.currentTimeMillis();
for(int i = 0; i<10000; i++) list.add(500, "X");
long end = System.currentTimeMillis();
return end-start;
}
public static long remove1(List list) { //순차적 삭제(뒤에서부터 처음까지)
long start = System.currentTimeMillis();
for(int i = list.size()-1; i>= 0; i--) list.remove(i);
long end = System.currentTimeMillis();
return end - start;
}
public static long remove2 (List list) { //중간에 삭제 하기
long start = System.currentTimeMillis();
for(int i =0; i<10000; i++) list.remove(i);//위에서 정의한 함수 1만번 호출
long end = System.currentTimeMillis();
return end - start;
}
public static void main(String[] args) {
ArrayList al = new ArrayList(2000000);
LinkedList ll = new LinkedList();
System.out.println("=순차적 추가=");
System.out.println("ArrayList : " + add1(al));
System.out.println("LinkedList : "+add1(ll));
System.out.println();
System.out.println("= 중간에 추가 =");
System.out.println("ArrayList : " + add2(al));
System.out.println("LinkedList : " + add2(ll));
System.out.println();
System.out.println("= 중간에 삭제하기 = ");
System.out.println("ArrayList : " + remove2(al));
System.out.println("LinkedList : "+ remove2(ll));
System.out.println();
System.out.println("=순차적으로 삭제하기 = ");
System.out.println("ArrayList : " + remove1(al));
System.out.println("LinkedList : "+ remove1(ll));
}//main end
}//class end
반응형