Java är ett av de mest populära programmeringsspråken som används för att bygga en . När vi bygger applikationer använder vi ofta uppräkningar för att betjäna en grupp med namngivna konstanter. Men om du vill implementera ett Set-gränssnitt med uppräkningstypen måste du använda EnumSet i . I den här artikeln om Java EnumSet kommer jag att täcka följande ämnen:
trådsynkronisering i java-exempel
Vad är Java EnumSet?
EnumSet är en implementering av Ställ in samlingar att arbeta med enumtyp . EnumSet sträcker sig från Abstrakt Set och implementerar Set-gränssnittet. Följande är några viktiga punkter du behöver förstå om EnumSet i Java:
- Innehåller endast enumvärden som tillhör samma uppräkningstyp
- Det är medlem i
- Ger implementering med hög prestanda och är inte synkroniserad
- Det tillåter inte användaren att lägga till NULL-värden och kastar en NullPointerException
- Element lagras i den ordning de sparas
- Använder en felsäker iteration, som kan användas för att se till att ConcurrentModificationException kastas
Du kan deklarera Java EnumSet på följande sätt:
Deklaration
offentlig abstrakt klass EnumSet
Därefter, i den här artikeln på Java EnumSet, låt oss förstå de olika metoderna som erbjuds av denna klass.
Metoder för EnumSet
De olika metoderna som erbjuds av Java EnumSet är följande:
Metod | Modifierare och typ | Beskrivning |
av (E e1) | statisk EnumSet | Används för att skapa en enum-uppsättning som ursprungligen innehåller det nämnda elementet, dvs. e1. |
av (E e1, E e2) | statisk EnumSet | Används för att skapa en enum-uppsättning som ursprungligen innehåller de nämnda elementen. Här är det e1, e2. |
räckvidd (E från, E till) | statisk EnumSet | Används för att skapa en enum-uppsättning som ursprungligen innehåller alla element i intervallet som definieras av de två nämnda slutpunkterna. |
alla (KlasselementType) | statisk EnumSet | Används för att skapa en uppsättning som innehåller alla element i den nämnda elementtypen. |
kopia av (Samlingc) | statisk EnumSet | Används för att skapa en uppsättning som initierats från den nämnda samlingen. |
kopia av (EnumSets) | statisk EnumSet | Används för att skapa en enum-uppsättning med samma elementtyp som den nämnda enum-uppsättningen, som ursprungligen innehåller samma element (om det finns någon). |
komplement av (EnumSets) | statisk EnumSet | Används för att skapa en enum-uppsättning med samma elementtyp som den nämnda enum-uppsättningen, som ursprungligen innehåller alla element av denna typ som är inte i den angivna uppsättningen. |
ingen av (KlasselementType) | statisk EnumSet | Använd tp skapa en tom uppsättning med den angivna elementtypen. |
klona () | EnumSet | Används för att returnera en kopia av denna uppsättning. |
Notera: Du kan använda av () -metoden upp till 5 parametrar. Så du kan cåterskapa en enumset som ursprungligen innehåller de angivna elementen enligt följande:
- av (E e1, E e2, E e3)
- av (E e1, E e2, E e3, E e4)
- av (E e1, E e2, E e3, E e4, E e5)
Sedan har jag diskuterat metoderna som används med EnumSet, nästa i Java EnumSet tutorial, låt oss se de praktiska funktionerna för dessa metoder.
Operationer av Java EnumSet
För att förklara dig hur EnumSet fungerar kommer jag att överväga följande kodavsnitt. Detta kodavsnitt innehåller en uppsättning enumvärden [DevOps, Big Data, Python, Data Science, RPA]. I det senare avsnittet av koden kommer jag att visa dig hur du använder olika metoder i följande sekvens:
- av (E e1)
- av (E e1, E e2)
- av (E e1, E e2, E e3)
- av (E e1, E e2, E e3, E e4)
- av (E e1, E e2, E e3, E e4, E e5)
- räckvidd (E från, E till)
- alla (KlasselementType)
- kopia av (Samlingc)
- kopia av (EnumSets)
- komplement av (EnumSets)
- ingen av (KlasselementTyp)
- klona ()
Kodavsnitt:
paket edureka import java.util.ArrayList import java.util.Collection import java.util.EnumSet enum Courses {DevOps, BigData, Python, DataScience, RPA} public class Exempel {public static void main (String [] args) {// Skapa en EnumSet EnumSet sample_set // av metod // Lägg till single element sample_set = EnumSet.of (Courses.DevOps) // Visa uppsättningen System.out.println ('EnumSet efter att ha lagt till ett enda element är:' + sample_set) / / Lägg till två element sample_set = EnumSet.of (Courses.DevOps, Courses.BigData) // Visa uppsättningen System.out.println ('EnumSet efter att ha lagt till två element är:' + sample_set) // Lägg till tre element sample_set = EnumSet .of (Courses.DevOps, Courses.BigData, Courses.Python) // Visa uppsättningen System.out.println ('EnumSet efter att ha lagt till tre element är:' + sample_set) // Lägg till fyra element sample_set = EnumSet.of ( Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience) // Visa uppsättningen System.out.println ('EnumSet efter att ha lagt till fyra element är:' + sample_set) // Lägg till fem element sample_set = EnumSet.of (Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience, Courses.RPA) // Visa uppsättningen System.out.println ('EnumSet efter tillsats fem element är: '+ sample_set) // Range method sample_set = EnumSet.range (Courses.BigData, Courses.DataScience) // Visa uppsättningen System.out.println (' Området för EnumSet är: '+ sample_set) / / allOf-metod sample_set = EnumSet.allOf (Courses.class) // Visa uppsättningen System.out.println ('Alla element i EnumSet är:' + sample_set) // copyOf (Collection) -metod // Skapa en tom samling Samlingssamplecollection = new ArrayList () // Lägg till element i samplecollection samplecollection.add (Courses.DevOps) samplecollection.add (Courses.BigData) samplecollection.add (Courses.Python) // Visa provsamlingsuppsättningen System.out.println ('Element i provsamlingsuppsättningen är:' + samplecollection) // Skapa en ny EnumSet för att lagra samlingsobjekten EnumSet final_en umset = EnumSet.copyOf (samplecollection) // Visa EnumSet System.out.println ('Element i EnumSet är:' + final_enumset) // copyOf (EnumSet) -metod // Hämta alla element från kurser EnumSet exempel_set = EnumSet. allOf (Courses.class) // Visa den ursprungliga EnumSet (sample_set) System.out.println ('Elementen i den initiala EnumSet är:' + exempel_set) // Kopiera elementen från ovanstående uppsättning EnumSet final_set = EnumSet.copyOf ( exempel_set) // Visa elementen i det kopierade EnumSet System.out.println ('Elementen i det kopierade EnumSet är:' + final_set) // complementOf-metod // Provuppsättning sample_set = EnumSet.of (Courses.DevOps, Courses. BigData, Courses.Python) // Skapa en EnumSet EnumSet complement_set // Komplettera ovanstående set complement_set = EnumSet.complementOf (sample_set) // Visa elementen i komplementet EnumSet System.out.println ('Elementen i komplementet EnumSet är : '+ komplement_set) // noneOf-metod // Skapa tom uppsättning EnumSet none_example_set = EnumSet.noneOf (Courses.class) // Visa elementen i uppsättningen System.out.println ('EnumSet består av elementen:' + none_exempel_set) // klonmetod EnumSet final_clone_set = sample_set.clone () // Visa EnumSet System.out.println ('Klonuppsättningen består av elementen:' + final_klon_set)}}
Produktion:
EnumSet efter att ha lagt till ett enda element är: [DevOps] EnumSet efter att ha lagt till två element är: [DevOps, BigData] EnumSet efter att ha lagt till tre element är: [DevOps, BigData, Python] EnumSet efter att ha lagt till fyra element är: [DevOps , BigData, Python, DataScience] EnumSet efter att ha lagt till fem element är: [DevOps, BigData, Python, DataScience, RPA] Området för EnumSet är: [BigData, Python, DataScience] Alla element i EnumSet är: [DevOps , BigData, Python, DataScience, RPA] Element i samlingsuppsättningen för exempel är: [DevOps, BigData, Python] Element i EnumSet är: [DevOps, BigData, Python] Elementen i den första EnumSet är: [DevOps, BigData, Python, DataScience, RPA] Elementen i den kopierade EnumSet är: [DevOps, BigData, Python, DataScience, RPA] Elementen i komplementet EnumSet är: [DataScience, RPA] EnumSet består av elementen: [] Klonsatsen består av elementen: [DevOps, BigData, Python]
Detta leder oss till slutet av den här artikeln om Java EnumSet. Om du vill veta mer om Java kan du hänvisa till vår .
ansible vs kock vs marionett
Om du tyckte att den här artikeln om “Java EnumSet” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.
Vi är här för att hjälpa dig med varje steg på din resa och komma med en läroplan som är utformad för studenter och yrkesverksamma som vill vara en Java-utvecklare . Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika tycka om Övervintra & .
Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i “Java EnumSet” så svarar vårt team gärna.