BackEnd/Java
[Java] Linked List
summer_light
2021. 7. 18. 15:49
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보다 느린 것을 확인할 수 있다.