Tôi cần một bộ sưu tập khóa/giá trị delphi sẽ cho phép tôi lặp qua bộ sưu tập theo cùng thứ tự các cặp khóa/giá trị được chèn/thêm vào.Bộ sưu tập khóa/giá trị duy trì thứ tự
TList<T>
đảm bảo đơn đặt hàng nhưng TDictionary<T1, T2>
thì không.
Tôi đoán tôi luôn có thể xác định TList<TPair<Key, Value>>
nhưng sẽ phức tạp hơn khi làm việc cùng.
Có loại bộ sưu tập được tích hợp sẵn có đáp ứng các yêu cầu của tôi hoặc sẽ gói TList<TPair<Key, Value>>
làm lựa chọn tốt nhất của tôi không? Hoặc có lẽ sẽ tốt hơn nếu có một số TList<Key>
và TDictionary<Key, Value>
và lặp qua danh sách.
Không có từ điển được đặt hàng sẵn. Tôi hy vọng có sự triển khai của bên thứ ba xung quanh, nhưng cá nhân tôi không biết một. –
Một 'TList>' được sắp xếp trên Khóa không phải là quá xấu, bởi vì một hoạt động tìm Key có thể sử dụng tìm kiếm nhị phân, nhưng cấu trúc dữ liệu dựa trên 'cây' có lẽ là những gì bạn cần. Lưu ý rằng 'TList >' sẽ không thực thi tính duy nhất, đó là điều mà bạn cũng có thể muốn triển khai, nếu bạn muốn thực thi các khóa duy nhất. –