import java.util.*;
public class VectorLinkedListTest { public static void main(String args[]) { Vector v = new Vector(1000000); LinkedList ll = new LinkedList();
System.out.println("= 순차적으로 추가하기 ="); System.out.println("Vector :"+add1(v)); System.out.println("LinkedList :"+add1(ll));
System.out.println(); System.out.println("= 중간에 추가하기 ="); System.out.println("Vector :"+add2(v)); System.out.println("LinkedList :"+add2(ll));
System.out.println(); System.out.println("= 중간에서 삭제하기 ="); System.out.println("Vector :"+remove2(v)); System.out.println("LinkedList :"+remove2(ll));
System.out.println(); System.out.println("= 순차적으로 삭제하기 ="); System.out.println("Vector :"+remove1(v)); System.out.println("LinkedList :"+remove1(ll)); }
public static long add1(List list) { long start = System.currentTimeMillis(); for(int i=0; i<100000;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<1000;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<1000;i++) list.remove(i); long end = System.currentTimeMillis(); return end - start; } }
/* ---------- java ---------- = 순차적으로 추가하기 = Vector :591 LinkedList :721
= 중간에 추가하기 = Vector :3465 LinkedList :10
= 중간에서 삭제하기 = Vector :3415 LinkedList :10
= 순차적으로 삭제하기 = Vector :10 LinkedList :50
Output completed (8 sec consumed) - Normal Termination */
출처 http://cafe.naver.com/javachobostudy |