set interface java
Deze Java Set-zelfstudie legt alles uit over de Set-interface in Java. Het behandelt hoe u door een set kunt herhalen, methoden instellen, implementatie, instellen op lijst, enz.:
Set in Java is een interface die deel uitmaakt van het Java Collection Framework en de Collection-interface implementeert. Een setcollectie biedt de kenmerken van een wiskundige set.
Een set kan worden gedefinieerd als een verzameling ongeordende objecten en mag geen dubbele waarden bevatten. Aangezien de set-interface de Collection-interface erft, implementeert het alle methoden van de Collection-interface.
Bekijk hier de perfecte Java-trainingsgids.
Wat je leert:
Java-set
De set-interface wordt geïmplementeerd door klassen en interfaces zoals weergegeven in het onderstaande diagram.
Zoals weergegeven in het bovenstaande diagram, wordt de Set-interface overgenomen door klassen, HashSet, TreeSet, LinkedHashSet en EnumSet. De interfaces SortedSet en NavigableSet implementeren ook de Set-interface.
Enkele van de belangrijke kenmerken van de Set-interface worden hieronder gegeven:
- De set-interface is een onderdeel van het Java Collections Framework.
- De set-interface zorgt voor unieke waarden.
- Het kan maximaal één null-waarde hebben.
- Java 8 biedt een standaardmethode voor de ingestelde interface - Spliterator.
- De ingestelde interface ondersteunt de indexen van de elementen niet.
- De set-interface ondersteunt generieke geneesmiddelen.
Hoe maak je een set?
De ingestelde interface in Java maakt deel uit van het pakket java.util. Om een vaste interface in het programma op te nemen, moeten we een van de volgende importinstructies gebruiken.
of
Zodra de set-interfacefunctionaliteit in het programma is opgenomen, kunnen we een set in Java maken met behulp van een van de set-klassen (klassen die de set-interface implementeren), zoals hieronder wordt weergegeven.
We kunnen dit ingestelde object vervolgens initialiseren door er een paar elementen aan toe te voegen met behulp van de add-methode.
Stel een voorbeeld in Java
Laten we een eenvoudig voorbeeld in Java implementeren om de Set-interface te demonstreren.
Uitgang:
Set inhoud: (Rood, Cyaan, Blauw, Magenta, Groen)
Gesorteerde set na conversie naar TreeSet: (blauw, cyaan, groen, magenta, rood)
Herhaal door Set in Java
We hebben via verschillende benaderingen toegang tot elk van de elementen van een set. We zullen deze benaderingen hieronder bespreken.
Met behulp van Iterator
We kunnen een iterator definiëren om door een ingesteld object te lopen. Met behulp van deze iterator hebben we toegang tot elk element in de set en kunnen we het verwerken.
Het volgende Java-programma demonstreert het itereren van de set en drukt de set-elementen af.
Uitgang:
HashSet: (Bangaluru, Pune, Kolkata, Hyderabad)
Waarden die Iterator gebruiken:
Bangalore Pune Kolkata Hyderabad
De For-each-lus gebruiken
We kunnen ook de for-each-lus gebruiken om toegang te krijgen tot de elementen in een set. Hier herhalen we de set in een lus.
Het volgende programma laat dit zien.
Uitgang:
HashSet: (Bangaluru, Pune, Kolkata, Hyderabad)
Inhoud instellen met forEach loop:
Bangalore Pune Kolkata Hyderabad
Met behulp van Java 8 Stream API
We kunnen ook setelementen herhalen en openen met behulp van de Java 8 stream API. Hierin genereren we een stream van een set en itereren we vervolgens door de stream met behulp van de forEach-lus.
Het onderstaande Java-programma demonstreert de iteratie van de set met behulp van de Java 8 stream API.
Uitgang:
HashSet: (Bangaluru, Pune, Kolkata, Hyderabad)
Stel inhoud in met behulp van Java 8 stream API:
Bangalore Pune Kolkata Hyderabad
Stel Methods API in
Hieronder staan de methoden die worden ondersteund door de Set-interface. Deze methoden voeren basisbewerkingen uit zoals toevoegen, verwijderen, bevat, enz. Samen met de andere bewerkingen.
waarom werken zonnefilms niet?
Methode | Methode Prototype | Omschrijving |
---|---|---|
is leeg | boolean isEmpty () | Controleert of de set leeg is |
toevoegen | boolean add (E e) | Voegt het element e toe aan de set als het niet aanwezig is in de set |
Voeg alles toe | boolean addAll (verzameling c) | Voegt het element van de collectie c toe aan de set. |
verwijderen | boolean remove (Object o) | Verwijdert het gegeven element o uit de set. |
Verwijder alles | boolean removeAll (Collectie c) | Verwijdert de elementen die aanwezig zijn in de gegeven collectie c uit de set. |
bevat | boolean bevat (Object o) | Controleert of het gegeven element o aanwezig is in de set. Retourneert true indien ja. |
bevatAll | boolean containsAll (verzameling c) | Controleert of de set alle elementen in de opgegeven verzameling bevat; Retourneert true indien ja. |
keepAll | boolean behoudenAll (verzameling c) | Set behoudt alle elementen in de gegeven verzameling c |
Doorzichtig | leegte duidelijk () | Wist de set door alle elementen uit de set te verwijderen |
iterator | Iterator iterator () | Wordt gebruikt om de iterator voor de set te verkrijgen |
toArray | Object () toArray () | Converteert de set naar een matrixweergave die alle elementen in de set bevat. |
grootte | int maat () | Retourneert het totale aantal elementen of de grootte van de set. |
hashCode | hashCode () | Retourneert hashCode van de set. |
Laten we nu enkele van de methoden die we hierboven hebben besproken in een Java-programma implementeren. We zullen ook de volgende specifieke bewerkingen zien waarbij twee sets betrokken zijn.
Implementatie in Java instellen
Kruispunt: We behouden gemeenschappelijke waarden tussen de twee sets. We voeren een kruising uit met behulp van de keepAll methode.
Unie: Hier combineren we de twee sets. Dit wordt gedaan met de Voeg alles toe methode.
Verschil: Met deze bewerking wordt de ene set uit de andere verwijderd. Deze bewerking wordt uitgevoerd met de Verwijder alles methode.
Uitgang:
Oorspronkelijke set (numSet): (1, 2, 3, 4, 20, 6, 7, 8, 9, 11, 12, 13)
numSet Grootte: 12
OddSet-inhoud: (1, 3, 5, 7, 9)
numSet bevat element 2: true
numSet bevat verzameling oddset: false
Snijpunt van de numSet & oddSet: (1, 3, 7, 9)
Verschil van de numSet & oddSet: (2, 4, 6, 8, 11, 12, 13, 20)
Vereniging van de numSet & oddSet: (1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 20)
Stel in op matrix
We hebben de methode ‘toArray’ gezien in de bovenstaande sectie over methoden. Deze toArray-methode kan worden gebruikt om de set naar een array te converteren.
Het onderstaande Java-programma converteert de set naar een array.
Uitgang:
De set bevat: (Rood, Cyaan, Blauw, Magenta, Groen)
Zet geconverteerd naar matrix: (rood, cyaan, blauw, magenta, groen)
Matrix om in te stellen
Om een array naar een set in Java te converteren, kunnen we twee benaderingen volgen, zoals hieronder wordt weergegeven.
# 1) We kunnen de array naar een lijst converteren met behulp van de methode asList en deze lijst vervolgens als argument doorgeven aan de set constructor. Dit resulteert in het creëren van het set-object met de array-elementen.
#twee) Als alternatief kunnen we de methode Collections.addAll gebruiken om de array-elementen naar het set-object te kopiëren.
Het onderstaande Java-programma implementeert beide benaderingen om een array naar set te converteren.
Uitgang:
De invoerarray: (10, 50, 40, 20, 60, 30, 80, 70)
Array geconverteerd naar set via asList: (80, 50, 20, 70, 40, 10, 60, 30)
Array geconverteerd naar set met Collections.addAll: (80, 50, 20, 70, 40, 10, 60, 30)
Instellen op lijst
Om set naar een lijst in Java te converteren, kunnen we de ‘addAll’ -methode van de lijstklasse gebruiken. Deze methode kopieert de inhoud van de set of een verzameling die als argument is opgegeven naar de lijst die de addAll-methode aanroept.
Het onderstaande Java-programma converteert de set naar een ArrayList.
Uitgang:
De set bevat: (vier, een, twee, drie, vijf)
De ArrayList van set: (vier, een, twee, drie, vijf)
Lijst om in te stellen
Om de gegeven lijst zoals ArrayList naar een set in Java te converteren, geven we het lijstobject als argument door aan de constructor van de set.
Het volgende Java-programma implementeert deze conversie.
Uitgang:
The ArrayList: (een, twee, drie, vier, vijf)
De set verkregen van ArrayList: (vier, een, twee, drie, vijf)
Sorteer een set in Java
De Set-collectie in Java heeft geen directe sorteermethode. We moeten dus enkele indirecte benaderingen volgen voor het sorteren of ordenen van de inhoud van het ingestelde object. Er is echter een uitzondering in het geval dat het ingestelde object een TreeSet is.
Het TreeSet-object levert standaard de geordende set. Dus als we enthousiast zijn over de geordende set elementen, moeten we voor TreeSet gaan. Voor HashSet of LinkedHashSet-objecten, kunnen we de set converteren naar List. Sorteer de lijst met de methode Collections.sort () en converteer de lijst vervolgens terug naar set.
Deze benadering wordt getoond in het onderstaande Java-programma.
Uitgang:
Ongesorteerde set: (4, 8, 6, 2, 12, 10, 62, 40, 36)
Gesorteerde set: (2, 4, 6, 8, 10, 12, 36, 40, 62)
Lijst versus ingesteld in Java
Laten we enkele verschillen tussen een lijst en een set bespreken.
Lijst | Set |
---|---|
Null-waarden zijn toegestaan. | Slechts één null-waarde toegestaan. |
Werktuiglijstinterface. | Werktuigen instellen interface. |
Bevat een Legacy-klasse, Vector. | Geen legacy-lessen. |
ArrayList, LinkedList is List Interface-implementaties. | HashSet, TreeSet, LinkedHashSet zijn Set-implementaties. |
Een geordende reeks elementen. | Een ongeordende verzameling van verschillende elementen. |
Staat duplicaten toe. | Duplicaten zijn niet toegestaan. |
Toegang tot elementen volgens de positie van het element. | Geen positionele toegang. |
Nieuwe methoden gedefinieerd in een lijstinterface. | Geen nieuwe methoden gedefinieerd in de Set-interface. Collectie-interfacemethoden moeten worden gebruikt met Set-subklassen. |
Kan met ListIterator in voorwaartse en achterwaartse richting worden doorlopen. | Het kan met Iterator alleen in voorwaartse richting worden doorlopen. |
Veel Gestelde Vragen
V # 1) Wat is een set in Java?
wat is de beste spionage-app voor mobiele telefoons
Antwoord: Een set is een ongeordende verzameling unieke elementen en modelleert typisch het concept van Set in de wiskunde.
Set is een interface die de collectie-interface uitbreidt. Het bevat de methoden die het overneemt van de collectie-interface. De ingestelde interface voegt alleen een beperking toe, d.w.z. duplicaten mogen niet worden toegestaan.
Q # 2)Is de set besteld in Java?
Antwoord: Nee. Java Set is niet besteld. Het biedt ook geen positionele toegang.
Q # 3)Kan een set duplicaten bevatten?
Antwoord: Een set is een verzameling unieke elementen, het kan geen duplicaten hebben.
Q # 4)Is Java Set itereerbaar?
Antwoord: Ja. De set-interface implementeert een herhaalbare interface en dus kan de set worden doorlopen of herhaald met een forEach-lus.
Q # 5)Is NULL toegestaan in de set?
Antwoord: Een set staat null-waarde toe, maar maximaal één null-waarde is toegestaan in setimplementaties zoals HashSet en LinkedHashSet. In het geval van TreeSet genereert het een runtime-uitzondering als de null is opgegeven.
Gevolgtrekking
In deze tutorial hebben we de algemene concepten en implementatie met betrekking tot Set-interface in Java besproken.
De set-interface heeft geen nieuwe methoden gedefinieerd, maar gebruikt de methoden van de Collector-interface en voegt alleen implementatie toe om dubbele waarden te voorkomen. De set staat maximaal één null-waarde toe.
In onze volgende tutorials zullen we specifieke implementaties van de Set-interface bespreken, zoals HashSet en TreeSet.
Bezoek hier om Java vanaf het begin te leren.
Aanbevolen literatuur
- Zelfstudie over reflectie in Java met voorbeelden
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Java String bevat () Method Tutorial met voorbeelden
- Jagged Array in Java - Tutorial met voorbeelden
- Zelfstudie voor Java-scannerklassen met voorbeelden
- Zelfstudie over Java-array-lengte met codevoorbeelden
- Zelfstudie over Java String | Java String-methoden met voorbeelden
- Wat is Java-vector | Java Vector Class-zelfstudie met voorbeelden