Cả ArrayList và LinkedList đều thực hiện giao diện List trong Java. Cả hai lớp đều không đồng bộ. Nhưng cũng có những khác biệt nhất định.
Sau đây là những điểm khác biệt quan trọng giữa phương thức ArrayList và LinkedList.
Sr. Không. | Phím | ArrayList | LinkedList |
---|---|---|---|
1 | Triển khai Nội bộ | ArrayList bên trong sử dụng một mảng động để lưu trữ các phần tử của nó. | LinkedList sử dụng Danh sách được liên kết gấp đôi để lưu trữ các phần tử của nó. |
2 | Thao tác | ArrayList chậm vì thao tác với mảng chậm hơn. | LinkedList dựa trên nút nhanh hơn vì không yêu cầu dịch chuyển nhiều bit. |
3 | Triển khai | ArrayList chỉ triển khai Danh sách. | LinkedList triển khai Danh sách cũng như Hàng đợi. Nó cũng có thể hoạt động như một hàng đợi. |
4 | Quyền truy cập | ArrayList lưu trữ và truy cập dữ liệu nhanh hơn. | LinkedList thao tác dữ liệu nhanh hơn. |
Ví dụ về ArrayList so với 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); } }
Outpu t
[A, B, C, D] [A, B, C, D]