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]