JAVA를 JAVA라

[JAVA] LinkedList와 ArrayList의 속도 비교 본문

JAVA/풀어봅시다 (eclipse)

[JAVA] LinkedList와 ArrayList의 속도 비교

샛별KIM 2021. 6. 26. 14:46
public class LinkedList01 {
	public static void main(String[] args) {
		List<String> al = new ArrayList<String>();
		al.add("가");
		al.add("나");
		al.add("다");
		System.out.println(al);
		
		///////////////////////////////////////
		
		LinkedList<String> ll = new LinkedList<String>();
		
		ll.addFirst("A");
		ll.addFirst("B");
		ll.addFirst("C");
		ll.addFirst("D");
		System.out.println(ll); //[D, C, B, A]
		
		ll.removeLast();
		System.out.println(ll); //[D, C, B]
		
		/////////////////////////////////////////
		List<String> test1 = new ArrayList<String>();
		List<String> test2 = new LinkedList<String>();
		
		long startTime;
		long endTime;
		
		startTime = System.nanoTime();
		for(int i = 0; i < 10000; i++) {
			test1.add(0, String.valueOf(i));
		}
		endTime = System.nanoTime();
		System.out.println("ArrayList가 걸린 시간 : " + (endTime - startTime));
		
		startTime = System.nanoTime();
		for(int i = 0; i < 10000; i++) {
			test2.add(0, String.valueOf(i));
		}
		endTime = System.nanoTime();
		System.out.println("LinkedList가 걸린 시간 : " + (endTime - startTime));
		
		/* 구분			순차적 추가/삭제		중간 추가/삭제		검색
		 * ArrayList		빠름					느림			빠름
		 * LinkedList		느림					빠름			느림
		 */
	}
}

//////출력

[가, 나, 다]
[D, C, B, A]
[D, C, B]
ArrayList가 걸린 시간 : 6874100
LinkedList가 걸린 시간 : 2142500

구분 순차적 추가/삭제 중간 추가/삭제 검색
ArrayList 빠름 느림 빠름
LinkedList 느림 빠름 느림
Comments