Giả sử bạn cần lưu trữ/truy xuất các mục trong một Collection
, không quan tâm đến việc đặt hàng và các bản sao được cho phép, loại Collection
để bạn sử dụng?mặc định Loại bộ sưu tập
Theo mặc định, tôi đã luôn sử dụng ArrayList
, nhưng tôi nhớ đọc/nghe ở đâu đó rằng việc triển khai Queue
có thể là lựa chọn tốt hơn. A List
cho phép các mục được thêm/lấy/xóa tại các vị trí tùy ý, phát sinh hình phạt. Là một Queue
không cung cấp cơ sở này, nó nên trong lý thuyết được nhanh hơn khi cơ sở này là không cần thiết.
Tôi nhận thấy rằng tất cả các cuộc thảo luận về hiệu suất có phần vô nghĩa, điều duy nhất thực sự quan trọng là đo lường. Tuy nhiên, tôi quan tâm để biết những gì người khác sử dụng cho một Collection
, khi họ không quan tâm đến việc đặt hàng, và các bản sao được cho phép, và tại sao?
Tìm kiếm trên một 'LinkedList' có thể tốn kém hoặc nhận giá trị tại một chỉ mục cụ thể - bạn cần phải duyệt qua danh sách mỗi lần. –
Vâng, tìm kiếm trong LinkedList là O (n), cũng như tìm kiếm trong ArrayList, vì không có thứ gì trong số này được sắp xếp. Và như tôi đã nói trước khi tôi sử dụng chúng thông qua giao diện Bộ sưu tập, và kết quả là tôi không có quyền truy cập vào các phương thức truy cập được lập chỉ mục (trong trường hợp đó, một tính năng). – Riduidel