Ho bisogno di una raccolta chiave/valore delphi che mi consenta di eseguire iterazioni sulla raccolta nello stesso ordine in cui sono state inserite/aggiunte coppie chiave/valore.Raccolta chiavi/valori che mantiene l'ordine
TList<T>
l'ordine di garanzia ma TDictionary<T1, T2>
no.
Immagino che potrei sempre definire un TList<TPair<Key, Value>>
ma sarebbe più complicato lavorare con.
Esiste un tipo di raccolta incorporato in grado di soddisfare le mie esigenze o di eseguire il wrapping di TList<TPair<Key, Value>>
come opzione migliore? O forse sarebbe meglio avere un TList<Key>
e un TDictionary<Key, Value>
e scorrere l'elenco.
Non esiste un dizionario ordinato incorporato. Mi aspetto che ci siano implementazioni di terze parti in giro, ma personalmente non ne conosco una. –
Un 'TList>' ordinato sulla chiave non è un problema, perché un'operazione di ricerca chiave potrebbe utilizzare una ricerca binaria, ma una struttura di dati basata su 'albero 'è probabilmente ciò di cui hai bisogno. Notare che 'TList >' non impone l'univocità, che è qualcosa che si potrebbe voler implementare anche se si vogliono applicare chiavi univoche. –