Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 11, 2020

ARRAYLIST VÀ VECTOR TRONG JAVA

Như chúng ta đã biết, ArrayList và Vector là các class được cài sẵn trong List inteface , đặc trưng cơ bản là một mảng động (có số phần tử có thể thay đổi). Bên cạnh đó, không ít người không nhận ra sự khác nhau giữa hai cấu trúc dữ liệu này, bài viết hôm nay sẽ làm rõ vấn đề này. Tính đồng bộ: Vector có tính đồng bộ, nghĩa là trong cùng một thời điểm chỉ có một thread có quyền truy cập vào nó. Ngược lại, ArrayList là một cấu trúc dữ liệu bất đồng bộ, nhiều thread có thể làm việc cùng một lúc. Thread đối với ArrayList và Vector (nguồn: geeksforgeeks) Hiệu suất: Theo giải thích ở trên, vì tính đồng bộ, hoạt động của Vector tốn thời gian hơn. Khi một thread đang làm việc, Vector tạm thời "khóa" lại, yêu cầu các thread còn lại phải xếp hàng cho đến khi thread hiện tại đã xử lý xong. Rõ ràng, ArrayList nhanh hơn. Tăng kích thước ArrayList và Vector đều tự tăng và co kích thước để duy trì việc sử dụng tối ưu bộ nhớ, nhưng cơ chế hoạt động của chúng lại khác nhau. Mỗi l