Verschil tussen ArrayList en LinkedList

Inhoudsopgave:

Verschil tussen ArrayList en LinkedList
Verschil tussen ArrayList en LinkedList

Video: Verschil tussen ArrayList en LinkedList

Video: Verschil tussen ArrayList en LinkedList
Video: 14.5 LinkedList vs ArrayList in Java 2024, November
Anonim

Belangrijk verschil – ArrayList vs LinkedList

Collecties zijn handig voor het opslaan van gegevens. In een normale array is de grootte van de array vast. Soms is het nodig om arrays te maken die naar behoefte kunnen groeien. Programmeertalen zoals Java hebben collecties. Het is een raamwerk met een reeks klassen en interfaces. Het dient als een container voor een groep elementen. Collecties maken het mogelijk om een set 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 collectieframework. Ze implementeren de collectie-interface en de lijst-interface. Dit artikel bespreekt het verschil tussen ArrayList en LinkedList. ArrayList is een klasse die de AbstractList uitbreidt en de List-interface implementeert, die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en List-, Deque- en Queue-interfaces implementeert, die intern een dubbel gelinkte lijst gebruiken om gegevenselementen op te slaan. Dat is het belangrijkste verschil tussen ArrayList en LinkedList.

Wat is ArrayList?

De klasse ArrayList wordt gebruikt om dynamische arrays te maken. In tegenstelling tot een normale array ligt de grootte van een dynamische array niet vast. Een object dat is gemaakt met de klasse ArrayList, mag een set elementen in de lijst opslaan. De capaciteit neemt automatisch toe, zodat de programmeur elementen aan de lijst kan toevoegen. De klasse ArrayList breidt de klasse AbstractList uit die de List-interface implementeert. Daarom kunnen de methoden van de List-interface worden gebruikt door ArrayList. Om toegang te krijgen 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.

Verschil tussen ArrayList en LinkedList
Verschil tussen ArrayList en LinkedList
Verschil tussen ArrayList en LinkedList
Verschil tussen ArrayList en LinkedList

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 add-methode. De verwijdermethode wordt gebruikt om een element uit de lijst te verwijderen. Wanneer 4 wordt doorgegeven aan de verwijdermethode, wordt de letter in de 4e index die "E" is, uit de lijst verwijderd. Bij het doorlopen van de lijst met behulp van de for-lus, worden de letters A, B, C en D afgedrukt.

Wat is LinkedList?

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

De klasse LinkedList breidt de klasse AbstractSequentialList uit en implementeert de List-interface. Daarom kunnen de methoden van de List-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.

Belangrijkste verschil tussen ArrayList en LinkedList
Belangrijkste verschil tussen ArrayList en LinkedList
Belangrijkste verschil tussen ArrayList en LinkedList
Belangrijkste verschil tussen ArrayList en LinkedList

Figuur 02: Voorbeeld met LinkedList

Volgens bovenstaand programma wordt een object van LinkedList aangemaakt. 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 add-methode. De verwijdermethode wordt gebruikt om een element uit de lijst te verwijderen. Wanneer 4 wordt doorgegeven aan de verwijdermethode, wordt de letter in de 4e index die "E" is, uit de lijst verwijderd. Bij iteratie met 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 behouden de invoegvolgorde.

Wat is het verschil tussen ArrayList en LinkedList?

ArrayList vs LinkedList

ArrayList is een klasse die de AbstractList uitbreidt en de List-interface implementeert die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en List, Deque, Queue-interfaces implementeert, die intern een dubbel gelinkte lijst gebruikt om gegevenselementen op te slaan.
Toegang tot elementen
De 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 werkt als een lijst. LinkedList werkt als een lijst en een wachtrij.

Samenvatting – ArrayList vs LinkedList

Het collectieframework maakt het mogelijk om te werken met datastructuren zoals lijsten, bomen, kaarten en sets. De lijst is een interface van het collectiekader. Dit artikel besprak het verschil tussen ArrayList en LinkedList. ArrayList is een klasse die de AbstractList uitbreidt en de List-interface implementeert die intern een dynamische array gebruikt om gegevenselementen op te slaan. LinkedList is een klasse die de AbstractSequentialList uitbreidt en List, Deque, Queue-interfaces implementeert, die intern een dubbel gekoppelde lijst gebruikt om gegevenselementen op te slaan. Dat is het verschil tussen ArrayList en LinkedList.

Aanbevolen: