Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa ArrayList và LinkedList trong Java

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]