Verschil tussen ArrayList en LinkedList

Belangrijkste verschil - ArrayList vs LinkedList
 

Collecties zijn handig voor het opslaan van gegevens. In een normale array is de array-grootte vastgesteld. Soms is het nodig om arrays te maken die kunnen groeien als dat nodig is. Programmeertalen zoals Java hebben verzamelingen. Het is een raamwerk met een reeks klassen en interfaces. Het dient als een container voor een groep elementen. Collecties laten toe om een ​​reeks elementen op te slaan, bij te werken en op te halen. Het helpt om te werken met datastructuren zoals lijsten, sets, bomen en kaarten. De lijst is een interface van het Collection-framework. ArrayList en LinkedList zijn twee klassen in het kader van de verzameling. Ze implementeren de collectie-interface en lijst-interface. Dit artikel bespreekt het verschil tussen ArrayList en LinkedList. ArrayList is een klasse die de AbstractList uitbreidt en de lijstinterface implementeert, die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en implementeert List-, Deque- en Queue-interfaces, die intern een dubbel gelinkte lijst gebruiken om gegevenselementen op te slaan. Dat is de belangrijk verschil tussen ArrayList en LinkedList.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is ArrayList
3. Wat is LinkedList
4. Overeenkomsten tussen ArrayList en LinkedList
5. Vergelijking zij aan zij - ArrayList vs LinkedList in tabelvorm
6. Samenvatting

Wat is ArrayList?

De klasse ArrayList wordt gebruikt om dynamische arrays te maken. In tegenstelling tot een normale array, is de grootte van een dynamische array niet vast. Een object dat is gemaakt met behulp van de klasse ArrayList, mag een reeks elementen in de lijst opslaan. De capaciteit wordt automatisch verhoogd, zodat de programmeur elementen aan de lijst kan toevoegen. De klasse ArrayList breidt de klasse AbstractList uit die lijstinterface implementeert. Daarom kunnen de methoden van de lijst-interface door ArrayList worden gebruikt. Voor toegang tot elementen wordt de methode get () gebruikt. De methode add () kan worden gebruikt om elementen aan de lijst toe te voegen. De methode remove () wordt gebruikt om een ​​element uit de lijst te verwijderen. Raadpleeg het onderstaande programma.

Figuur 01: Voorbeeld van ArrayList

Volgens het bovenstaande programma wordt een object van ArrayList gemaakt. Met behulp van de add-methode kunnen elementen dynamisch worden toegevoegd. De elementen "A", "B", "C", "D" en "E" worden toegevoegd met behulp van de methode voor toevoegen. De verwijderingsmethode wordt gebruikt om een ​​element uit de lijst te verwijderen. Bij het overzetten van 4 naar de verwijderingsmethode wordt de letter in de 4de index die "E" is uit de lijst verwijderd. Als u met behulp van de for-lus door de lijst herhaalt, worden de letters A, B, C en D afgedrukt.

Wat is LinkedList?

Net als bij ArrayList wordt de LinkedList gebruikt om gegevenselementen dynamisch op te slaan. Een object dat is gemaakt met de klasse LinkedList, mag een reeks elementen in de lijst opslaan. De capaciteit wordt automatisch verhoogd, zodat de programmeur elementen aan de lijst kan toevoegen. Het gebruikt intern dubbel gelinkte lijst om gegevens op te slaan. In een dubbel gelinkte lijst worden de gegevens als knooppunten opgeslagen. Elk knooppunt bevat twee koppelingen. De eerste link verwijst naar het vorige knooppunt. De volgende koppeling verwijst naar het volgende knooppunt in de reeks.

De klasse LinkedList breidt de klasse AbstractSequentialList uit en implementeert de lijstinterface. Daarom kunnen de methoden van Lijst-interface worden gebruikt door de LinkedList. De methode get () kan worden gebruikt om toegang te krijgen tot elementen van de lijst. De methode add () kan worden gebruikt om elementen aan de lijst toe te voegen. De methode remove () wordt gebruikt om een ​​element uit de lijst te verwijderen. Raadpleeg het onderstaande programma.

Figuur 02: Voorbeeld met LinkedList

Volgens het bovenstaande programma wordt een object van LinkedList gemaakt. Met behulp van de add-methode kunnen elementen dynamisch worden toegevoegd. De elementen "A", "B", "C", "D" en "E" worden toegevoegd met behulp van de methode voor toevoegen. De verwijderingsmethode wordt gebruikt om een ​​element uit de lijst te verwijderen. Wanneer u 4 doorgeeft aan de verwijderingsmethode, wordt de letter in de vierde index die "E" is uit de lijst verwijderd. Bij het gebruik van de for-lus worden de letters A, B, C en D afgedrukt.

Wat zijn de overeenkomsten tussen ArrayList en LinkedList?

  • Zowel ArrayList als LinkedList implementeren List-interface.
  • Zowel ArrayList als LinkedList kunnen dubbele elementen bevatten.
  • Zowel ArrayList als LinkedList onderhouden de invoegopdracht.

Wat is het verschil tussen ArrayList en LinkedList?

ArrayList versus LinkedList

ArrayList is een klasse die de AbstractList uitbreidt en de lijstinterface implementeert die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en implementeert List, Deque, Queue-interfaces, die intern een dubbel gelinkte lijst gebruikt om gegevenselementen op te slaan.
 Toegang tot elementen
Toegang tot elementen van ArrayList is sneller dan van een LinkedList. Toegang tot elementen van LinkedList is langzamer dan van een ArrayList.
Elementen manipuleren
Het manipuleren van elementen van ArrayList is langzamer dan van een LinkedList. Het manipuleren van elementen van LinkedList is sneller dan van een ArrayList.
 Gedrag
ArrayList presteert als een lijst. LinkedList wordt uitgevoerd als een lijst en een wachtrij.

Samenvatting - ArrayList vs LinkedList

Het verzamelkader maakt werken met gegevensstructuren mogelijk, zoals lijsten, bomen, kaarten en sets. De lijst is een interface van het verzamelingskader. In dit artikel is het verschil tussen ArrayList en LinkedList besproken. ArrayList is een klasse die de AbstractList uitbreidt en de lijstinterface implementeert die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en implementeert List, Deque, Queue-interfaces, die intern een dubbel gelinkte lijst gebruikt om gegevenselementen op te slaan. Dat is het verschil tussen ArrayList en LinkedList.

Referentie:

1. Inleiding tot gekoppelde lijst | Datastructuur Zelfstudie | Studytonight. Beschikbaar Hier
2. "LinkedList in Java - javatpoint.",Het punt, Beschikbaar Hier
3. "Java ArrayList-klasse - javatpoint." Het punt, Beschikbaar Hier