Sets in Java: weet hoe u met Java Set Interface moet werken



Stel in Java is een verzameling ongeordende elementen; waarin dubbele waarden niet kunnen worden opgeslagen. Lees dit artikel en leer alles over het verzamelen van Java-sets.

Het Java Collection Framework bevat talrijke interfaces, waaronder de Set Interface. Dit artikel geeft je een gedetailleerde inleiding tot Sets In . Hieronder volgen de tips die in dit artikel moeten worden behandeld:

Sets in Java

Set wordt gedefinieerd als een verzameling ongeordende elementen waarin dubbele waarden niet kunnen worden opgeslagen. Het breidt de collectie uit en dus alle methoden in het zijn beschikbaar in de Set-interface. Het wordt geïmplementeerd door HashSet, LinkedHashSet of de TreeSort.





Sets - Java-verzamelingen - Edureka

Elk van deze implementaties werkt anders tijdens het itereren van de set, meestal met betrekking tot de volgorde van de elementen, en de tijd die nodig is voor het invoegen en voor het benaderen van de elementen.



    • Hash Set doet dat bieden geen enkele garantie over de volgorde van de elementen tijdens het herhalen van de set.
    • LinkedHashSet biedt anderzijds een garantie over de volgorde van de elementen tijdens het itereren ervan.
    • TreeSet geeft garantie, maar de set wordt gesorteerd volgens de natuurlijke volgorde, of door een specifieke comparatorimplementatie.

Hoe maak je een set aan?

De volgende code definieert de methode om een ​​nieuwe set te maken:

Set num = new HashSet ()



We hebben gebruikt Merkloos product om de set van een integer-type te declareren.

Methoden instellen in Java:

We kunnen meerdere bewerkingen op een set uitvoeren, zoals:

Methode toevoegen

De add-methode voegt een element in de . In de onderstaande code voegen we een reeks namen in.

Set strName = new HashSet () strName.add ('John') strName.add ('Doe') System.out.println (strName)

Uitgang:

[John Doe]

Verwijder methode

Deze methode verwijdert het opgegeven element uit de set.

import java.util. * public class Main {public static void main (String args []) {// Een lege set maken Set set = new HashSet () // Elementen toevoegen aan de set set.add ('John') set .add ('Doe') // Toon de set System.out.println ('Set:' + set) // Het element “Doe” verwijderen met de methode remove () set.remove ('Doe') // De gewijzigde set System.out.println ('Set:' + set)}}

Uitgang:

hoe trim in java te gebruiken

Set: [John, Doe]

Set: [John]

Is lege methode

Deze methode controleert of het is leeg is niet. Het retourneert true als de set leeg is, en false als dit niet het geval is.

import java.io. * import java.util. * public class Main {public static void main (String args []) {Set javaSet = new HashSet () // Toevoegen van elementen aan de Set javaSet.add ('John') javaSet .add ('Doe') // Toon de set System.out.println ('Set:' + javaSet) // Controleer of de set leeg is System.out.println ('Empty Set:' + javaSet.isEmpty () ) // De set wissen met de methode clear () javaSet.clear () // Controleren of de set leeg is System.out.println ('Empty Set:' + javaSet.isEmpty ())}}

Uitgang:

Set: [John, Doe]

Lege set: false

Lege set: waar

Grootte Methode

De methode size () geeft de grootte van de set terug, d.w.z. het aantal elementen dat in de set aanwezig is.

import java.util. * public class Main {public static void main (String args []) {// Een set aanmaken Set set = new HashSet () set.add ('John') set.add ('Doe') Systeem .out.println ('Set:' + set) // De grootte van het verzonden System.out.println ('Grootte van de set:' + set.size ())}} weergeven

Uitgang:


Set: [John, Doe]

Grootte van de set: 2

Itereren over een set

We kunnen alle elementen in de set herhalen met de volgende methode:

import java.util. * import java.util.HashSet public class Main {public static void main (String args []) {// Een HashSet HashSet maken javaSet = nieuwe HashSet () javaSet.add ('John') javaSet.add ('Doe') // De set System.out.println weergeven ('HashSet:' + javaSet) // Een iterator Iterator maken itr = javaSet.iterator () // De waarden weergeven na iteratie System.out.println (' Iterator waarden: ') while (itr.hasNext ()) {System.out.println (itr.next ())}}}

Uitgang:

HashSet: [John, Doe]

Iterator Waarden:

John

Doe

Zoeken in een set

We gebruiken de methode contains () om te bepalen of de set een gespecificeerd element bevat. Geeft true terug als het element wordt gevonden en false anders.

import java.io. * import java.util.HashSet public class Main {public static void main (String args []) {// Een HashSet HashSet maken javaSet = nieuwe HashSet () javaSet.add ('John') javaSet.add ('Doe') // Tonen van de HashSet System.out.println ('HashSet:' + javaSet) // Controleren op “John” in de set System.out.println ('John in set:' + javaSet.contains ( 'John')) // Controleren op 'Hazel' in set System.out.println ('Hazel in set:' + javaSet.contains ('Hazel'))}}

Uitgang:

HashSet: [John, Doe]

John in set: waar

Hazel in set: false

Basisbediening op sets in Java

  • Unie: Om de ene set aan de andere toe te voegen, gebruiken we de operatie Union
  • Kruispunt: Om de gemeenschappelijke waarden van beide sets te behouden, gebruiken we de snijpuntbewerking.
  • Verschil: Om de waarden van de ene set te verwijderen uit de andere set, wordt de verschilbewerking gebruikt.

Voorbeeld

scannerklasse in java-voorbeeld
import java.util. * public class Main {public static void main (String args []) {Set d = new HashSet () d.addAll (Arrays.asList (new Integer [] {3, 2, 1, 9, 6 , 4, 0})) Set e = new HashSet () e.addAll (Arrays.asList (new Integer [] {3, 1, 9, 5, 2, 0, 7,})) // Union Operation Set union = nieuwe HashSet (d) union.addAll (e) System.out.println ('Union:' + union) // Intersection Operation Set intersection = nieuwe HashSet (d) intersection.retainAll (e) System.out.println (' Intersection: '+ intersection) // Difference Operation Set differentie = nieuwe HashSet (d) differ.removeAll (e) System.out.println (' Difference: '+ verschil)}}

Uitgang:

Unie: [0, 1, 2, 3, 4, 5, 6, 7, 9]

Kruispunt: [0, 1, 2, 3, 9]

Verschil: [4, 6]

De methoden en bewerkingen die in de methode worden genoemd, maken de set-interface elementair en efficiënt van aard.

Hiermee zijn we aan het einde gekomen van dit artikel over ‘Sets in Java’. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van het artikel 'sets in java' en we nemen zo snel mogelijk contact met u op.