Skip to main content

Cos'è un arraylist?

Un arraylist nella programmazione di computer è una struttura di dati che si comporta come un array di computer ma implementa anche la capacità di crescere dinamicamente le dimensioni dell'array secondo necessità.A differenza di un tipo di dati di array intrinseco, che non può essere ridimensionato durante l'esecuzione del programma, la struttura della matrice può crescere e ridurre le dimensioni dell'array in risposta all'aggiunta o alla cancellazione di elementi.Ha un profilo di prestazioni molto favorevole, che consente un rapido accesso casuale alla raccolta dei dati.Ci sono due istanze, tuttavia, in cui è più lento di alcune altre strutture di dati, vale a dire l'aggiunta e la rimozione di elementi dal centro dell'array.La maggior parte dei linguaggi di programmazione orientati agli oggetti hanno un qualche tipo di implementazione di tale elenco, sebbene siano talvolta chiamati array dinamici.

L'uso di un arraylist fornisce un programma con la possibilità di accedere agli oggetti dati con un numero di indice istantaneamente invece di dover attraversareUn'intera sequenza di dati per trovare un indirizzo, richiesto con elenchi collegati.Con la capacità di aumentare le dimensioni dell'array, se necessario, è un approccio molto equilibrato che considera sia la flessibilità che la velocità.Inoltre, quando gli elementi vengono rimossi da tale elenco, la dimensione dell'array viene ridotta, liberando lo spazio di memoria.

immagazzinato.Nel caso di un elenco collegato o di una tabella hash, di solito è necessario un oggetto separato per mantenere la tecnica utilizzata per trattenere e manipolare la raccolta.Con un arraylist, le uniche informazioni necessarie sugli oggetti dati sono l'indirizzo dell'oggetto in memoria.Ciò significa che ci sarà meno utilizzo della memoria aerea quando si lavora con questo tipo di elenco. Un potenziale problema con l'utilizzo di un arraylist può provenire dal sistema di gestione dell'implementazione e della memoria.La maggior parte degli array sono assegnati come posizioni di memoria consecutive.Pertanto, per usare un arraylist di una certa dimensione, almeno così tanta memoria deve essere disponibile in una sequenza ininterrotta di blocchi.L'array dinamico potrebbe ridimensionarsi più volte, quindi la frammentazione della memoria può verificarsi e portare a un errore di allocazione della memoria, fermando l'esecuzione del programma. Le prestazioni di un arraylist sono simili a quelle dell'utilizzo di un array standard, sebbene i tempi di accesso siano leggermente più lenti perchéL'array è incapsulato in un oggetto.Un'istanza in cui un array dinamico può rallentare drasticamente, a seconda dell'implementazione, è quando le dimensioni dell'array devono essere modificate.Ciò può comportare la copia dell'array corrente in un nuovo array che è stato assegnato alla nuova dimensione desiderata, causando un degrado temporaneo nelle prestazioni.Lo stesso problema può essere riscontrato quando si aggiunge o rimuove un elemento dal centro dell'elenco, causando il passaggio di tutti gli elementi seguenti in una nuova posizione.