Verschil tussen lijst en set in Java

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 14 Kunnen 2024
Anonim
public, private, and static in Java
Video: public, private, and static in Java

Inhoud


Lijst- en set-interface breidt verzameling uit. Beiden onderhouden de verzameling elementen of objecten. Maar het belangrijkste verschil dat ze van elkaar onderscheidt, is Lijst een verzameling geordende elementen. De elementen worden toegevoegd of verwijderd of kunnen worden geopend met behulp van een indexvariabele. Aan de andere kant is Set een verzameling objecten waarvan de verzameling geen dubbele elementen toestaat. Laten we wat meer verschillen tussen List- en Set-interfaces bestuderen met behulp van de onderstaande vergelijkingstabel.

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

Vergelijkingstabel

Basis voor vergelijkingLijst reeks
basis-Lijst behoudt de volgorde van de elementen die in een lijst zijn opgeslagen.Set handhaaft niet in het bijzonder de invoegvolgorde, maar Linked HashSet handhaaft de invoegvolgorde.
verdubbelingLijst kan dubbele elementen bevatten.De methode add () retourneert false als u probeert de dubbele elementen in te voegen.
methodenNaast de methoden die in de verzameling zijn gedefinieerd, definieert List enkele van zijn eigen methoden.Set definieert geen aanvullende methode.
Implementatie Lijst wordt geïmplementeerd door ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Set wordt geïmplementeerd door HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Definitie van lijst

Lijstinterface breidt collectie-interface uit. Een lijst is een geordende verzameling elementen of objecten. In tegenstelling tot Set kan de lijst dubbele elementen bevatten. Naast de methoden die in de Collectielijst zijn gedefinieerd, definieert een aantal methoden zoals index-gebaseerde methode get () en set (). De methoden add () en remove () die zijn overgenomen van Collection die het opgegeven element toevoegen of verwijderen uit de index die is opgegeven in het methode-argument. Lijst is een soort array waarvan de grootte toeneemt naarmate we elementen aan de lijst toevoegen.

Lijst definieert geen methode om te werken op het bereik van indexen in een lijst. Het definieert een methode sublist () die een sublijst retourneert uit de oorspronkelijke lijst van een opgegeven bereik. De wijzigingen die u in de sublijst aanbrengt, worden ook in de oorspronkelijke lijst weergegeven. Lijstinterface wordt geïmplementeerd door ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.


Definitie van Set

Set-interface breidt de Collection-interface uit. Set-interface is een verzameling of een groep objecten waarin geen dubbel object voorkomt. Dat betekent dat twee verwijzingen niet naar één object kunnen verwijzen, of dat één verwijzing niet naar twee objecten kan verwijzen, of dat er geen twee verwijzingen naar Null kunnen verwijzen. De volgorde of volgorde van het element is niet belangrijk Set, maar het is niet dat het de bestelde set verbiedt.

Set interface definieert geen enkele methode naast de methode die is gedefinieerd in Collectie. In plaats daarvan beperkt het de verzamelmethoden add () en addall () om elk dubbel object in een verzameling toe te voegen. Als u een dubbel object in een verzameling probeert toe te voegen met de methode add () van Verzameling, retourneert het onwaar. Anders keert het waar terug. Set-interface wordt geïmplementeerd door HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. De reeks elementen / objecten in een verzameling wordt in Lijst gehandhaafd, terwijl Set de volgorde van de elementen niet handhaaft, maar er is een uitzondering.
  2. Lijst kan dubbele elementen bevatten omdat het elk element met zijn index identificeert, maar Set staat geen dubbele elementen toe omdat het geen indextype heeft om een ​​object in een verzameling te identificeren.
  3. Lijst definieert zelf enkele methoden, naast de methoden die in Collectie zijn gedefinieerd. Aan de andere kant definieert Set geen eigen methode, maar beperkt het de methoden van Verzameling om dubbele elementen toe te voegen.
  4. Lijst wordt geïmplementeerd door ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack-interfaces. Aan de andere kant wordt Set geïmplementeerd door HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet-interfaces.

Gevolgtrekking:

Het gebruik van de Lijst- en Set-interface is afhankelijk van de vereiste. Als de volgorde van objecten / elementen belangrijk is, moet u de lijstinterface gebruiken. Als u geen dubbele elementen in uw verzameling nodig hebt, moet u de interface Set gebruiken