Differenza Tra ArrayList E LinkedList

Sommario:

Differenza Tra ArrayList E LinkedList
Differenza Tra ArrayList E LinkedList

Video: Differenza Tra ArrayList E LinkedList

Video: Differenza Tra ArrayList E LinkedList
Video: LinkedList против ArrayList в Java | Различия между ArrayList и LinkedList | Эдурека 2024, Novembre
Anonim

Differenza chiave - ArrayList vs LinkedList

Le raccolte sono utili per archiviare i dati. In un array normale, la dimensione dell'array è fissa. A volte è necessario creare array che possono crescere secondo necessità. I linguaggi di programmazione come Java hanno raccolte. È un framework con un insieme di classi e interfacce. Serve da contenitore per un gruppo di elementi. Le raccolte consentono di memorizzare, aggiornare, recuperare un insieme di elementi. Aiuta a lavorare con strutture di dati come elenchi, insiemi, alberi e mappe. L'elenco è un'interfaccia del framework Collection. ArrayList e LinkedList sono due classi nel framework delle raccolte. Implementano l'interfaccia di raccolta e l'interfaccia di elenco. Questo articolo discute la differenza tra ArrayList e LinkedList. ArrayList è una classe che estende AbstractList e implementa l'interfaccia List, che utilizza internamente un array dinamico per memorizzare gli elementi di dati. LinkedList è una classe che estende AbstractSequentialList e implementa le interfacce List, Deque e Queue, che utilizzano internamente un elenco a doppia connessione per memorizzare gli elementi di dati. Questa è la differenza fondamentale tra ArrayList e LinkedList.

CONTENUTI

1. Panoramica e differenza fondamentale

2. Che cos'è ArrayList

3. Che cos'è LinkedList

4. Somiglianze tra ArrayList e LinkedList

5. Confronto affiancato - ArrayList vs LinkedList in forma tabulare

6. Riepilogo

Cos'è ArrayList?

La classe ArrayList viene utilizzata per creare array dinamici. A differenza di un normale array, la dimensione di un array dinamico non è fissa. Un oggetto creato utilizzando la classe ArrayList può memorizzare un insieme di elementi nell'elenco. La capacità aumenta automaticamente, quindi il programmatore può aggiungere elementi all'elenco. La classe ArrayList estende la classe AbstractList che implementa l'interfaccia List. Pertanto, i metodi dell'interfaccia List possono essere utilizzati da ArrayList. Per accedere agli elementi, viene utilizzato il metodo get (). Il metodo add () può essere utilizzato per aggiungere elementi all'elenco. Il metodo remove () viene utilizzato per rimuovere un elemento dall'elenco. Fare riferimento al programma seguente.

Differenza tra ArrayList e LinkedList
Differenza tra ArrayList e LinkedList

Figura 01: esempio di ArrayList

Secondo il programma sopra, viene creato un oggetto di ArrayList. Utilizzando il metodo add, gli elementi possono essere aggiunti dinamicamente. Gli elementi "A", "B", "C", "D" ed "E" vengono aggiunti utilizzando il metodo di aggiunta. Il metodo remove viene utilizzato per rimuovere un elemento dall'elenco. Quando si passa 4 al metodo di rimozione, la lettera nel 4 ° indice che è "E" viene rimossa dall'elenco. Quando si scorre l'elenco utilizzando il ciclo for, verranno stampate le lettere A, B, C e D.

Cos'è LinkedList?

Simile a ArrayList, LinkedList viene utilizzato per memorizzare gli elementi di dati in modo dinamico. Un oggetto creato utilizzando la classe LinkedList può memorizzare un insieme di elementi nell'elenco. La capacità aumenta automaticamente, quindi il programmatore può aggiungere elementi all'elenco. Utilizza internamente una lista doppiamente collegata per memorizzare i dati. In una lista doppiamente collegata, i dati vengono memorizzati come nodi. Ogni nodo contiene due collegamenti. Il primo collegamento punta al nodo precedente. Il collegamento successivo punta al nodo successivo nella sequenza.

La classe LinkedList estende la classe AbstractSequentialList e implementa l'interfaccia List. Pertanto, i metodi dell'interfaccia List possono essere utilizzati da LinkedList. Il metodo get () può essere utilizzato per accedere agli elementi della lista. Il metodo add () può essere utilizzato per aggiungere elementi all'elenco. Il metodo remove () viene utilizzato per rimuovere un elemento dall'elenco. Fare riferimento al programma seguente.

Differenza chiave tra ArrayList e LinkedList
Differenza chiave tra ArrayList e LinkedList

Figura 02: esempio con LinkedList

Secondo il programma sopra, viene creato un oggetto di LinkedList. Utilizzando il metodo add, gli elementi possono essere aggiunti dinamicamente. Gli elementi "A", "B", "C", "D" ed "E" vengono aggiunti utilizzando il metodo di aggiunta. Il metodo remove viene utilizzato per rimuovere un elemento dall'elenco. Quando si passa 4 al metodo di rimozione, la lettera nel 4 ° indice che è "E" viene rimossa dall'elenco. Durante l'iterazione utilizzando il ciclo for, verranno stampate le lettere A, B, C e D.

Quali sono le somiglianze tra ArrayList e LinkedList?

  • Sia ArrayList che LinkedList implementano l'interfaccia List.
  • Sia ArrayList che LinkedList possono contenere elementi duplicati.
  • Sia ArrayList che LinkedList mantengono l'ordine di inserimento.

Qual è la differenza tra ArrayList e LinkedList?

Articolo diff. Al centro prima della tabella

ArrayList vs LinkedList

ArrayList è una classe che estende l'AbstractList e implementa l'interfaccia List che utilizza internamente un array dinamico per memorizzare gli elementi di dati. LinkedList è una classe che estende AbstractSequentialList e implementa le interfacce List, Deque, Queue, che utilizza internamente una lista doppiamente collegata per memorizzare gli elementi di dati.
Accesso agli elementi
L'accesso agli elementi di ArrayList è più veloce di quello di LinkedList. L'accesso agli elementi di LinkedList è più lento di un ArrayList.
Manipolazione di elementi
La manipolazione degli elementi di ArrayList è più lenta di quella di LinkedList. La manipolazione degli elementi di LinkedList è più veloce di quella di un ArrayList.
Comportamento
ArrayList funziona come un elenco. LinkedList funziona come un elenco e una coda.

Riepilogo: ArrayList vs LinkedList

Il framework di raccolta consente di lavorare con strutture di dati come elenchi, alberi, mappe e set. L'elenco è un'interfaccia del framework di raccolta. Questo articolo ha discusso la differenza tra ArrayList e LinkedList. ArrayList è una classe che estende AbstractList e implementa l'interfaccia List che utilizza internamente un array dinamico per memorizzare gli elementi di dati. LinkedList è una classe che estende AbstractSequentialList e implementa le interfacce List, Deque, Queue, che utilizza internamente una lista doppiamente collegata per memorizzare gli elementi di dati. Questa è la differenza tra ArrayList e LinkedList.

Raccomandato: