Tôi cần một lớp thu thập có cả hai: chỉ mục nhanh và truy cập băm. Bây giờ tôi có ArrayList. Đô thị này có acces chỉ số tốt, nhưng phương pháp contains
của mình là không thực hiện. HashSet có thực hiện tốt contains
nhưng không có acces được lập chỉ mục. Bộ sưu tập nào có cả hai? Có lẽ một cái gì đó từ Apache? Hoặc tôi có nên tạo lớp bộ sưu tập của riêng mình có cả hai: ArrayList cho các chỉ mục acces và HashSet cho kiểm tra contains
?Bộ sưu tập có chỉ mục và truy cập băm
Chỉ cần làm rõ: tôi cần cả hai get(int index)
và contains(Object o)
Bạn sở hữu cấu trúc dữ liệu chứa cả hai (hoặc một số biến thể trên đó) có lẽ là cách để đi. – Dukeling
Bạn có thể giải thích _why_ bạn muốn điều này không? –
Có, tôi có thể. Tôi có mã kế thừa, sử dụng gần như tất cả các phương thức của đối tượng List (ArrayList). Tôi không có cơ hội để viết lại nó, nhưng tôi muốn tăng hiệu suất của nó.Vấn đề chính ở đây là chứa các phương thức indexOf và vì chúng có hiệu suất tuyến tính. –