Verschil tussen lijst en ArrayList in Java

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
Array vs. ArrayList in Java Tutorial - What’s The Difference?
Video: Array vs. ArrayList in Java Tutorial - What’s The Difference?

Inhoud


List en ArrayList zijn de leden van het Collection-framework. Lijst is een verzameling elementen in een reeks waarbij elk element een object is en elementen toegankelijk zijn via hun positie (index). ArrayList maakt een dynamische reeks objecten die, indien nodig, groter of kleiner wordt. Het belangrijkste verschil tussen List en ArrayList is dat Lijst is een interface en ArrayList is een klas. Laten we het verschil tussen de lijst en ArrayList bestuderen met behulp van de onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingLijstArrayList
basis-Lijst is een interfaceArrayList is een standaard verzamelklasse.
Syntaxisinterface lijstclass ArrayList
Verlengen / ImplementerenLijstinterface breidt Collection Framework uit.ArrayList breidt AbstractList uit en implementeert List Interface.
namespaceSystem.Collections.Generic.System.Collections.
WerkHet wordt gebruikt om een ​​lijst met elementen (objecten) te maken die zijn gekoppeld aan hun indexnummer.ArrayList wordt gebruikt om een ​​dynamische array met objecten te maken.


Definitie van lijst

Lijst is een koppel waardoor de Verzameling kader. Lijstinterface beschrijft de verzameling elementen die opeenvolgend zijn gerangschikt. Lijstinterface wordt geïmplementeerd door de volgende standaardcollectieklassen zoals ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Lijstinterface heeft elementen die zijn gekoppeld aan hun indexnummer. U hebt toegang tot een element in de lijst door zijn positie (index) in de lijst. Een lijst die met de interface Lijst is gemaakt, begint met een op nul gebaseerde index.

Naast de methoden die zijn overgenomen door het Collection-framework, definieert de List-interface ook een eigen methode. De methoden die zijn toegevoegd door de lijstinterface zijn, toevoegen (int, E) en addAll (int, Collection). Deze methoden voegen een element toe aan de lijst door hun index. Methoden in de lijst kunnen een uitzondering veroorzaken UnsupportedOperationException als de methode de lijst niet kan wijzigen. Wanneer een object in een lijst niet compatibel is met een ander object in de lijst, dan ClassCastException wordt gegooid. Er zijn geen elementen in de lijst toegestaan ​​als u probeert een nulobject in de lijst in te voegen, NullPointerException wordt gegooid.


U kunt een element uit de lijst verkrijgen met krijgen() methode. U kunt de waarde van een element in de lijst instellen met set () methode. U kunt de sublijst ook met behulp van een methode uit de lijst halen sublijst (). Het wordt handig om op de sublijst te werken in plaats van op een lijst.

Definitie van ArrayList

Een van de standaardcollectieklassen is ArrayList die zich uitstrekt AbstractList klasse en implementeert ook de Lijst koppel. De klasse ArrayList wordt gebruikt om de dynamische arrays te maken die groeien en krimpen wanneer dat nodig is. De lijst die is gemaakt met de klasse ArrayList is niets anders dan de reeks objecten. In Java heeft de standaardarray de vaste lengte, dus u moet van tevoren de grootte van de array weten. Maar het kan zijn dat u misschien pas na de looptijd weet welke lengte van de array u nodig hebt. Daarom introduceerde het Collection-raamwerk de klasse ArrayList om dit probleem op te lossen.

ArrayList heeft constructeurs die de array maken met zijn initiële capaciteit. Hoewel de capaciteit van het object van klasse ArrayList automatisch toeneemt wanneer elementen aan de array worden toegevoegd, kunt u toch de capaciteit van het object van ArrayList handmatig verhogen met de methode ensureCapacity (). Het is beter om de capaciteit van de array aanvankelijk te vergroten in plaats van het geheugen later opnieuw toe te wijzen. Omdat herallocatie duurder is dan het geheugen in één keer toewijzen.

  1. Een van de belangrijkste verschillen tussen List en ArrayList is dat list een is koppel en ArrayList is een standaardcollectie klasse.
  2. Lijstinterface breidt de Verzameling framework terwijl de ArrayList zich uitstrekt AbstractList Klasse en het implementeert Lijst interfaces.
  3. De naamruimte voor de lijstinterface is System.Collection.Generic terwijl de naamruimte voor ArrayList is System.Collection.
  4. Lijstinterface maakt een verzameling elementen die in een reeks worden opgeslagen en worden geïdentificeerd of benaderd door hun indexnummer. Aan de andere kant maakt ArrayList een reeks objecten waar de reeks dynamisch kan groeien wanneer dat nodig is.

Gevolgtrekking:

De ArrayList overwint het probleem van een statische array in standaard Java, d.w.z. de array kan niet groter worden als deze eenmaal is gemaakt. Wanneer een array wordt gemaakt met behulp van ArrayList, wordt een dynamische array gemaakt die indien nodig in omvang kan groeien en krimpen. De standaardcollectieklasse ArrayList breidt de lijstinterface uit.