ArrayList vs Vector: Sự khác biệt và So sánh

ArrayList và vector lưu trữ các phần tử của mảng. Chúng cho phép người dùng lưu trữ nhiều đối tượng. Dữ liệu được lưu trữ động trong cả hai.

Chìa khóa chính

  1. ArrayList và Vector là các triển khai mảng có thể thay đổi kích thước trong Java.
  2. Vector được đồng bộ hóa, nhưng ArrayList thì không.
  3. ArrayList nhanh hơn. Vector an toàn cho luồng.

ArrayList so với Vector

ArrayList là một mảng có thể thay đổi kích thước không được đồng bộ hóa, điều này làm cho nó nhanh. Nó sử dụng giao diện Iterator để duyệt qua các phần tử. Vector lưu trữ các phần tử cùng loại hoặc chuyển đổi ngầm định và có thể sử dụng cả giao diện Iterator và enumeration. Nó được đồng bộ hóa và do đó chậm.

ArrayList so với Vector

ArrayList giúp người dùng thay đổi kích thước của mảng. ArrayList làm cho mảng thu nhỏ hoặc mở rộng dựa trên yêu cầu của người dùng.

vector được tìm thấy trong Java. Sử dụng gói. Nó hỗ trợ một mảng động các phần tử có nghĩa là mảng có thể thay đổi kích thước. Các vectơ thuộc về lớp kế thừa.

Bảng so sánh

Các thông số so sánhLập danh sáchvector
Đồng bộ hóaArrayList không được Đồng bộ hóa tức là nó có thể hoạt động đồng thời trên nhiều luồng khác nhau.Vector được đồng bộ hóa tức là chỉ một luồng có thể xử lý mã tại một thời điểm.
Tốc độHoạt động của nó rất nhanh vì chúng không được đồng bộ hóa.Hoạt động vectơ chạy chậm hơn khi chúng được đồng bộ hóa.
Thay đổi kích thướcNếu các phần tử vượt quá khả năng của chúng thì ArrayList tăng 50% kích thước mảng hiện có.Nếu các phần tử vượt quá khả năng của chúng thì vectơ sẽ tăng 100% kích thước mảng hiện có.
Sở thíchCác lập trình viên thích ArrayList hơn các vectơ.Nó ít được ưu tiên hơn vì đồng bộ hóa trong vectơ gây ra hiệu suất kém hơn.
Traversal (đi qua)Nó sử dụng Iterator để duyệt qua các phần tử.Nó có thể sử dụng Iterator cũng như phép liệt kê để duyệt qua các phần tử.

ArrayList là gì?

ArrayList là một mảng có thể sửa đổi. Nó được tìm thấy trong Java. gói sử dụng. Việc tạo ArrayList rất hữu ích khi người dùng không biết kích thước của dữ liệu được đưa vào.

Cũng đọc:  VB vs VBScript: Sự khác biệt và so sánh

ArrayList cho phép người dùng thực hiện các thao tác cơ bản như thêm phần tử, loại bỏ phần tử, thay đổi phần tử và hoạt động lặp. 

ArrayList hỗ trợ nhiều thao tác. 

  1. Để thêm các phần tử: Sử dụng thao tác add() để thêm phần tử.
  2. Để truy cập bất kỳ phần tử nào: Các phần tử có thể được truy cập bằng cách sử dụng tùy chọn get(). Các phần tử được truy cập bằng bộ chỉ mục, bắt đầu từ số không. 
  3. Để thay đổi một phần tử: Để thực hiện các thay đổi trong bất kỳ phần tử cụ thể nào, hãy sử dụng thao tác set().
  4. Để loại bỏ các yếu tố: Ba thao tác này Remove(), Removerange( , ) và RemoveAt được sử dụng để xóa các phần tử trong ArrayList.

ArrayList được vận hành bởi kích thước của nó. Tuy nhiên, nó có thể được mở rộng bằng cách thêm các phần tử và thu nhỏ lại bằng cách loại bỏ các phần tử.

Hai phương thức sau đây được sử dụng để kiểm tra xem một phần tử có tồn tại trong Java ArrayList hay không.

  1. chứa đựng()
  2. Chỉ số()

Vectơ là gì?

Vector được coi là một lớp kế thừa được đồng bộ hóa. Nếu cần nhiều luồng để hoạt động, thì không có hai luồng nào có thể thực hiện đồng thời.

Các vectơ được coi là an toàn cho luồng. An toàn luồng đảm bảo cho người dùng rằng tất cả các luồng hoạt động phù hợp và đáp ứng các tiêu chí thiết kế của họ mà không có tương tác không mong muốn. 

Vector đảm bảo việc thêm hoặc xóa các phần tử bằng cách mở rộng hoặc thu nhỏ kích thước của vector. Ở đó có lẽ một số trường hợp người dùng không có kiến ​​thức trước về độ dài của một mảng.

Vector, giống như ArrayList, cho phép người dùng thực hiện các thao tác cơ bản là thêm phần tử, loại bỏ phần tử, thay đổi phần tử và hoạt động lặp.

  1. Để thêm các phần tử: Sử dụng thao tác add() để thêm phần tử.
  2. Để thay đổi các yếu tố: Sử dụng thao tác set() để thay đổi các phần tử. Các phần tử trong vectơ được quy cho chỉ mục của chúng.
  1. Để loại bỏ các yếu tố: Sử dụng phương thức remove() để xóa các phần tử khỏi vector.
Cũng đọc:  Spotify vs Tidal: Sự khác biệt và So sánh

Vector hỗ trợ các phép toán đơn công khác ngoài các phép toán cơ bản đã nêu.

Sự khác biệt chính giữa ArrayList và Vector

  1. Các hoạt động của ArrayList không an toàn cho luồng, trong khi các hoạt động của vectơ là an toàn cho luồng.
  2. ArrayList là một lớp tập hợp, trong khi vector là một lớp kế thừa.
dự án
  1. https://dl.acm.org/doi/abs/10.1145/1044550.1041666
  2. https://dl.acm.org/doi/abs/10.1145/3394451.3397204

Cập nhật lần cuối: ngày 19 tháng 2023 năm XNUMX

chấm 1
Một yêu cầu?

Tôi đã nỗ lực rất nhiều để viết bài đăng trên blog này nhằm cung cấp giá trị cho bạn. Nó sẽ rất hữu ích cho tôi, nếu bạn cân nhắc chia sẻ nó trên mạng xã hội hoặc với bạn bè/gia đình của bạn. CHIA SẺ LÀ ♥️

suy nghĩ 24 trên "ArrayList vs Vector: Sự khác biệt và so sánh"

Để lại một bình luận

Bạn muốn lưu bài viết này cho sau này? Nhấp vào trái tim ở góc dưới cùng bên phải để lưu vào hộp bài viết của riêng bạn!