티스토리 뷰
* 실험 개요
- 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 가 확실히 떨어짐.
'SW개발' 카테고리의 다른 글
톰캣 org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 (0) | 2017.02.12 |
---|---|
Gradle 프로젝트, Eclipse 로 가져오기 (2) | 2017.02.10 |
Gradle 설치 (0) | 2017.02.10 |
Json parser - Jackson parser 사용 (0) | 2017.02.08 |
java기초] List의 기능 요약 (0) | 2017.02.07 |