Logo vi.removalsclassifieds.com

Sự khác biệt giữa ArrayList và Vector (Với Bảng)

Mục lục:

Anonim

ArrayList và vectors 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. Danh sách mảng và vector chạy trên java. gói sử dụng. Việc xử lý các phép toán như cộng phần tử, trừ phần tử, lặp phần tử, nhân đôi hoặc null phần tử khá giống nhau. Nhưng điều quan trọng là phải biết các lĩnh vực mà họ thực hiện khác nhau.

ArrayList vs Vector

Sự khác biệt giữa ArrayList và Vector nằm ở con đường mà chúng lưu trữ và xử lý dữ liệu. Cả hai phương pháp đều cho phép người dùng thực hiện một loạt các chức năng. Các lập trình viên thích sử dụng ArrayList hoặc vector tùy theo yêu cầu của họ. Trong khi một cái được đồng bộ hóa, cái kia không được đồng bộ hóa. Khả năng mở rộng của chúng khác nhau. Chúng cho phép người dùng thực hiện các thao tác từ đơn giản đến phức tạp hơn.

ArrayList giúp người dùng sửa đổ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. Nó khác với mảng dựng sẵn vì mảng dựng sẵn không cho phép người dùng sửa đổi kích thước của mảng. ArrayList có thể hoạt động đồng bộ trên nhiều luồng.

Vector được tìm thấy trong java. gói sử dụng. Nó hỗ trợ một mảng động gồm các phần tử có nghĩa là mảng có thể thay đổi kích thước. Các vectơ thuộc lớp kế thừa. Vectơ thực hiện các hoạt động an toàn cho luồng, có nghĩa là một luồng có thể thực hiện một thao tác tại một thời điểm có xu hướng làm cho hiệu suất của chúng chậm hơn.

Bảng so sánh giữa ArrayList và Vector

Các thông số so sánh

Lập danh sách

Véc tơ

Đồng bộ hóa ArrayList không được đồng bộ hóa, tức là nó có thể hoạt động trên nhiều luồng khác nhau đồng thời. Vectơ đượ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 độ, vận tốc Hoạt động của nó rất nhanh vì chúng không được đồng bộ hóa. Các hoạt động vectơ chạy chậm hơn khi chúng được đồng bộ hóa.
Thay đổi kích thước Nếu các phần tử vượt quá dung lượng của chúng thì ArrayList sẽ tăng 50% kích thước mảng hiện có. Nếu các phần tử vượt quá dung lượng của chúng thì vectơ sẽ tăng 100% kích thước mảng hiện có.
Sự ưa thích Các lập trình viên thích ArrayList hơn 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.
Truyền tải (truyền qua) Nó sử dụng Iterator để duyệt qua các phần tử. Nó có thể sử dụng Iterator cũng như kiểu 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. Nó có một chức năng khác với mảng tích hợp sẵn. 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 sẽ được đưa vào. ArrayList coi các giá trị null hoặc void là hợp lệ.

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ử, xóa phần tử, thay đổi phần tử và hoạt động vòng lặp.

ArrayList hỗ trợ nhiều hoạt động.

ArrayList được vận hành theo kích thước của nó. Mặc dù 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 pháp sau được sử dụng để kiểm tra xem một phần tử có tồn tại trong Java ArrayList hay không.

Vector là gì?

Vector được coi là một lớp kế thừa được đồng bộ hóa. Nó hỗ trợ một hoạt động tại một thời điểm. 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. Điều này dẫn đến hiệu suất kém hơn vì một luồng cần đợi trong khi luồng khác hoạt động trên vector.

Các vectơ được coi là an toàn theo luồng. Sự an toàn của 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ó thể có 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. Trong những trường hợp đó, vectơ mang lại lợi thế cho người dùng. Vectơ có thể mở rộng 100% nếu số lượng phần tử được thêm vào vượt quá dung lượng của nó.

Vector giống 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ử, xóa phần tử, thay đổi phần tử và hoạt động vòng lặp.

Vector hỗ trợ các hoạt động simplex khác ngoài các hoạt động cơ bản đã nêu.

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

Sự kết luận

ArrayList và vector đều cho phép người dùng thực hiện nhiều thao tác. ArrayList được coi là tốt hơn vì nó mang lại hiệu suất vượt trội trong một khung thời gian ngắn hơn. Vectơ có một chút lợi thế khi người dùng không biết độ dài của dữ liệu sẽ được thêm vào một mảng. Lập trình viên có thể sử dụng bất kỳ phương pháp nào dựa trên yêu cầu của họ.

Tài liệu tham khảo

Sự khác biệt giữa ArrayList và Vector (Với Bảng)