티스토리 뷰

* 실험 개요

- ArrayList와 LinkedList add() 와 get() 에 걸리는 시간을 측정

- 두 리스트 성능 차이 비교할 것.

- 한번씩만 하면 테스트 안될테니 add 10만번, get 5만번 씩 반복


* 테스트 코드

// 0. 선언

List<Integer> lst = new ArrayList<Integer>();

List<Integer> lst2 = new LinkedList<Integer>();

long oldTime;

long newTime;


// 1. ArrayList 데이터 넣기

oldTime = System.currentTimeMillis();

for(int i=0; i<100000; i++) {

lst.add(i);

}

newTime = System.currentTimeMillis();

System.out.println("ArrayList걸린시간 : " + (newTime - oldTime) + "ms");

// 2. LinkedList 데이터 넣기

oldTime = System.currentTimeMillis();

for(int i=0; i<100000; i++) {

lst2.add(i);

}

newTime = System.currentTimeMillis();

System.out.println("LinkedList 걸린시간 : " + (newTime - oldTime) + "ms");

// 3. ArrayList 데이터 가져오기 1

oldTime = System.currentTimeMillis();

for(int i=0; i<10000 ; i++) {

lst.get(50000);

}

newTime = System.currentTimeMillis();

System.out.println("ArrayList 걸린시간 : " + (newTime - oldTime) + "ms");

// 4. LinkedList 데이터 가져오기 2

oldTime = System.currentTimeMillis();

for(int i=0; i<10000 ; i++) {

lst2.get(50000);

}

newTime = System.currentTimeMillis();

System.out.println("LinkedList 걸린시간 : " + (newTime - oldTime) + "ms");


* 결과

ArrayList걸린시간 : 17ms

LinkedList 걸린시간 : 16ms

ArrayList 걸린시간 : 1ms

LinkedList 걸린시간 : 1743ms




* 결론 

삽입 삭제 없었으니 add() 성능 차이는 모르겠고

get에서 LinkedList 가 확실히 떨어짐.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함