Potrzebuję kolekcji klucz/wartość delphi, która pozwoli mi na iterację nad kolekcją w tej samej kolejności, w której pary/pary zostały wstawione/dodane.Zbiór kluczy/wartości, który zachowuje porządek
TList<T>
gwarantuje zamówienie, ale TDictionary<T1, T2>
nie.
Domyślam się, że zawsze mogę zdefiniować TList<TPair<Key, Value>>
, ale byłoby to bardziej kłopotliwe w pracy.
Czy istnieje opcja mojego wbudowanego typu, który spełniłby moje wymagania, lub czy opakowanie jednostkowe to TList<TPair<Key, Value>>
? A może lepiej byłoby mieć TList<Key>
i TDictionary<Key, Value>
i iterować po liście.
Brak wbudowanego słownika uporządkowanego. Spodziewam się, że istnieją implementacje stron trzecich, ale ja osobiście o tym nie wiem. –
'TList>' posortowane na kluczu nie jest takie złe, ponieważ operacja wyszukiwania klucza może korzystać z wyszukiwania binarnego, ale prawdopodobnie potrzebna jest struktura danych typu "drzewo". Zauważ, że 'TList >' nie będzie wymuszać unikalności, która jest czymś, co możesz również chcieć zaimplementować, jeśli chcesz wymusić unikalne klucze. –