티스토리 뷰

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
반응형

'JAVA' 카테고리의 다른 글

190716 람다식, arraylist 테스트  (0) 2019.07.16
190716 Enhancedfor 3중 배열  (0) 2019.07.16
190715 Generics 예제  (0) 2019.07.15
190715 List, Iterator  (0) 2019.07.15
190712 Swing, JFrame 이용 계산기 (무식한버전)  (0) 2019.07.12