본문 바로가기
BackEnd/Java

[Java] Linked List

by summer_light 2021. 7. 18.

Linked List

 

 

 

Linked List 값 추가하기/삭제하기

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]




ArrayList와 LinkedList 속도 비교

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

 

 

 

EX01. ArrayList와 LinkedList 중간 추가/삭제 속도비교 

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)); //ArrayList걸린 시간 : 24794700

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)); //LinkedList걸린 시간 : 8163900

출력결과: 

ArrayList걸린 시간 : 24794700

LinkedList걸린 시간 : 8163900

 

→ 중간 추가/삭제 속도는 ArrayList가 LinkedList보다 느린 것을 확인할 수 있다. 

 

'BackEnd > Java' 카테고리의 다른 글

[Java] Hash set  (0) 2021.07.19
[Java] VirtualBox 설치  (0) 2021.07.19
[Java] ArrayList  (0) 2021.07.15
[Java] 제네릭 Generic  (0) 2021.07.14
[Java] 컬렉션 Collection  (0) 2021.07.14

댓글