Wat is LinkedHashSet in Java? Begrijp met voorbeelden



Dit artikel over LinkedHashSet in Java helpt je te begrijpen wat LinkedHashListi is en hoe het verschilt van HashSet met behulp van voorbeeldprogramma's.

NAAR is een verzameling die geen dubbele elementen toestaat. De meest gebruikte implementaties van de set-interface zijn HashSet, TreeSet en LinkedHashSet. In dit artikel gaan we een van deze implementaties onderzoeken: LinkedHashSet in

Hieronder staan ​​de onderwerpen die in dit artikel worden besproken:





Wat is LinkedHashSet?

LinkedHashSet is een framework in Java. In feite is het de kindklasse of afgeleide klasse van superklasse HashSet . Het verschilt op de volgende manieren van HashSet:

  1. De invoegvolgorde van elementen blijft behouden tijdens het maken van een LinkedHashSet.
  2. Een onderliggende datastructuur is de hybride van Hash Table (in HashSet) & Linked List.
  3. Duplicaten zijn niet toegestaan ​​in LinkedHashSet.

Wanneer we door een LinkedHashSet gaan via een itererende agent, worden de elementen teruggestuurd in dezelfde volgorde als waarin ze zijn ingevoegd.In het onderstaande stroomschema wordt uitgelegd dat de interface Set implementeert class LinkedHashSet in



Hiërarchie - LinkedHashSet in Java - Edureka

Aan het begin van dit artikel hebben we besproken hoe LinkedHashSet verschilt van HashSet. Laten we er een paar bekijken om te begrijpen hoe LinkedHashSet anders is.

Volgorde van invoeging

Hier is een voorbeeldprogramma van LinkedHashSet dat laat zien of de invoegvolgorde behouden blijft of niet.



import java.util. * public class Method1 {public static void main (String args []) {LinkedHashSet hs = new LinkedHashSet () // Elementen toevoegen aan de LinkedHashSet hs.add ('E') hs.add ('d' ) hs.add ('u') hs.add ('r') hs.add ('e') hs.add ('k') hs.add ('a') // Het bijgewerkte LinkedHashSet System.out weergeven .println ('Bijgewerkt LinkedHashSet:' + hs)}}

Uitvoer

LinkedHashSet bijgewerkt: [E, d, u, r, e, k, a]

De uitvoer laat duidelijk zien dat de invoegopdracht behouden blijft in LinkedHashSet in tegenstelling tot de HashSet Class.

Redundantie

In LinkedHashSet zijn dubbele elementen niet toegestaan. Laten we een illustratie bekijken om te controleren of dit waar is of niet.

import java.util. * public class Method1 {public static void main (String args []) {LinkedHashSet hs = new LinkedHashSet () // Elementen toevoegen aan de LinkedHashSet hs.add ('E') hs.add ('E' ) // toevoeging van dubbele elementen hs.add ('d') hs.add ('u') hs.add ('r') hs.add ('e') hs.add ('k') hs.add ('a') hs.add ('a') // toevoeging van dubbele elementen // Weergave van LinkedHashSet System.out.println ('LinkedHashSet Contains:' + hs)}}

Uitvoer

LinkedHashSet Bevat: [E, d, u, r, e, k, a]

Houd er dus rekening mee dat duplicaten niet zijn toegestaan ​​en dat de invoegvolgorde behouden blijft. LinkedHashSet wordt veel gebruikt bij het bouwen van op cache gebaseerde applicaties. Laten we naar het volgende onderwerp van dit ‘LinkedHashList in Java’-artikel gaan.

Java LinkedHashSet-voorbeelden

Hier zijn enkele voorbeeldprogramma's die het gebruik van LinkedHashSet in

Grootte berekenen en zoeken naar een element in LinkedHashSet

import java.util. * public class Voorbeeld1 {public static void main (String args []) {LinkedHashSet hs = new LinkedHashSet () // Elementen toevoegen aan de LinkedHashSet hs.add ('E') hs.add ('d' ) hs.add ('u') hs.add ('r') hs.add ('e') hs.add ('k') hs.add ('a') // De grootte van het LinkedHashSet-systeem ophalen .out.println ('De grootte van de LinkedHashSet is' + hs.size ()) // Controleren of de LinkedHashSet een element bevat of niet System.out.println ('Is B aanwezig in de LinkedHashSet ?:' + hs. bevat ('B')) // Controleren of de LinkedHashSet een element bevat of niet System.out.println ('Is E aanwezig in de LinkedHashSet ?:' + hs.contains ('E'))}}

Uitvoer

gebruik python in visuele studio
De grootte van de LinkedHashSet is 7 Is B aanwezig in de LinkedHashSet ?: false Is E aanwezig in de LinkedHashSet ?: true

Als het element aanwezig is in het HashSet-programma, keert het terug waar en als het element niet wordt gevonden, keert het programma terug false .

Een element verwijderen uit de LinkedHashSet

import java.util. * public class Voorbeeld2 {public static void main (String args []) {LinkedHashSet hs = new LinkedHashSet () // Elementen toevoegen aan de LinkedHashSet hs.add ('E') hs.add ('d' ) hs.add ('u') hs.add ('r') hs.add ('e') hs.add ('k') hs.add ('a') System.out.println ('Original LinkedHashSet : '+ hs) // Element e verwijderen uit LinkedHashSet System.out.println (' Removal Status: '+ hs.remove (' e ')) // Het bijgewerkte LinkedHashSet System.out.println (' Bijgewerkt LinkedHashSet: '+ hs)}}

Uitvoer

Oorspronkelijke LinkedHashSet: [E, d, u, r, e, k, a] Verwijderingsstatus: true Bijgewerkt LinkedHashSet: [E, d, u, r, k, a]

Zoals u kunt zien, blijft de volgorde ongewijzigd en is het element met succes uit de set verwijderd.

Dit brengt ons bij het einde van dit ‘LinkedHashSet in Java’ artikel. Ik hoop dat de Java LinkedHashSet-klasse voorbeelden die we hier hebben besproken, zullen u helpen om aan de slag te gaan met LinkedHashSet-programmering in

Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze ‘LinkedHashSet in Java’ artikel en we nemen zo snel mogelijk contact met u op.