ArrayList와 LinkedList는 모두 Java에서 List 인터페이스를 구현한 것입니다. 두 클래스 모두 동기화되지 않습니다. 그러나 몇 가지 차이점도 있습니다.
다음은 ArrayList와 LinkedList 메소드의 중요한 차이점입니다.
| Sr. 아니요. | 키 | 배열 목록 | 링크드리스트 |
|---|---|---|---|
| 1 | 내부 구현 | ArrayList는 내부적으로 동적 배열을 사용하여 요소를 저장합니다. | LinkedList는 이중 연결 목록을 사용하여 요소를 저장합니다. |
| 2 | 조작 | ArrayList는 배열 조작이 느리기 때문에 느립니다. | LinkedList는 많은 비트 이동이 필요하지 않기 때문에 노드 기반이 더 빠릅니다. |
| 3 | 구현 | ArrayList는 List만 구현합니다. | LinkedList는 List와 Queue를 구현합니다. 큐 역할도 할 수 있습니다. |
| 4 | 액세스 | ArrayList는 데이터 저장 및 액세스 속도가 더 빠릅니다. | LinkedList는 데이터 조작이 더 빠릅니다. |
ArrayList와 LinkedList의 예
JavaTester.java
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class JavaTester {
public static void main(String args[]) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
List<String> list1 = new LinkedList<>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
System.out.println(list);
System.out.println(list1);
}
} 출력t
[A, B, C, D] [A, B, C, D]