Generalmente si consiglia di scegliere la struttura dati corretta per il lavoro. Devi capire il tuo compito a portata di mano così come tutte le diverse opzioni che hai e come si confrontano in termini di iterazione, ricerca, aggiunta, rimozione e inserimento dei dati. In generale, è necessario comprendere in che modo la struttura dati accede e manipola la memoria e scegliere la migliore struttura dati in base a come si prevede di utilizzare la propria applicazione.
Ovviamente, non è sempre chiaro. Ma puoi capire gli ideali per le diverse strutture di dati.
Ad esempio, dati di lunghezza fissa puramente statici in cui è possibile solo iterare, senza necessità di ricerca, è ideale per un array. È comune utilizzare tali matrici negli algoritmi di cifratura. Se i dati sono statici ma anziché iterare, è necessario eseguire la ricerca, è possibile che si desideri un tipo di struttura ad albero. Se vuoi un inserimento veloce, l'hashing è probabilmente l'ideale. Se i dati cambiano spesso, vuoi una struttura che sia efficiente nel cambiare le sue dimensioni, come una lista.
Ovviamente ci sono molte varianti e combinazioni di strutture dati progettate per risolvere tutti i tipi di problemi specifici. Il motivo per cui ce ne sono così tanti è l'importanza che giocano nello scrivere programmi efficienti. Ad ogni modo, il mio punto è, conoscere le strutture dati. Comprendi le situazioni ideali per ciascuno e poi sarai in grado di decidere o progettare strutture dati adeguate per qualsiasi attività.
L'auto-ridimensionamento non è l'unica ragione però. L'elenco partecipa a tutte le bontà delle API delle raccolte, quindi puoi risolvere la maggior parte dei problemi relativi alla tua infrastruttura semplicemente utilizzando l'API. – cherouvim