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

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

Cả ArrayList và Vector đều là hiện thực của giao diện List trong Java. Cả hai lớp đều giữ thứ tự chèn. 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à Vector.

Sr. Không.
Phím
ArrayList
Vectơ
1
Đồng bộ hóa
ArrayList không được đồng bộ hóa.
Vectơ được đồng bộ hóa.
2
Kích thước
ArrayList tăng 50% kích thước hiện tại của nó nếu phần tử được thêm vào vượt quá dung lượng của nó.
Vectơ tăng 100% kích thước hiện tại của nó nếu phần tử được thêm vào vượt quá dung lượng của nó.
3
Kế thừa
ArrayList không phải là kế thừa.
Vector là một lớp kế thừa.
4
Tốc độ
ArrayList nhanh hơn khi không được đồng bộ hóa.
LinkedList đang được đồng bộ hóa chậm hơn.
5
Lặp lại
ArrayList sử dụng giao diện trình lặp để duyệt qua các phần tử.
Vector có thể sử dụng cả giao diện trình lặp hoặc trình điều tra để duyệt qua các phần tử.

Ví dụ về ArrayList so với Vector

JavaTester.java

import java.util.ArrayList;
import java.util.Vector;
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 Vector<>();
      list1.add("A");
      list1.add("B");
      list1.add("C");
      list1.add("D");
      System.out.println(list);
      System.out.println(list1);
   }
}

Đầu ra

[A, B, C, D]
[A, B, C, D]