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...