Java EnumSet: Ako používať EnumSet v Jave?



Tento článok je komplexným sprievodcom o tom, ako pomocou Java EnumSet vytvoriť súpravu enum obsahujúcu zadané prvky v parametroch.

Java je jedným z najpopulárnejších programovacích jazykov používaných na zostavenie . Pri vytváraní aplikácií často používame enumerácie, ktoré slúžia skupine pomenovaných konštánt. Ak však chcete implementovať rozhranie Set s typom výčtu, musíte použiť EnumSet v . V tomto článku o Java EnumSet sa budem venovať týmto témam:

Logo Java - Java EnumSet - Edureka





pole objektov v jave

Čo je Java EnumSet?

EnumSet je implementácia Nastaviť zbierky pracovať s typ enum . EnumSet siaha od AbstractSet a implementuje rozhranie Set. Nasleduje niekoľko dôležitých bodov, ktoré musíte pochopiť o EnumSet v Jave:

  • Obsahuje iba hodnoty výčtu, ktoré patria k rovnakému typu výčtu
  • Je členom
  • Poskytuje vysoko výkonnú implementáciu sady a nie je synchronizovaná
  • Neumožňuje používateľovi pridávať hodnoty NULL a vyvoláva NullPointerException
  • Prvky sa ukladajú v poradí, v akom sú uložené
  • Používa iteráciu zabezpečenú proti zlyhaniu, ktorú je možné použiť na zabezpečenie toho, že je vyvolaná ConcurrentModificationException

Java EnumSet môžete deklarovať nasledujúcim spôsobom:



Vyhlásenie

verejná abstraktná trieda EnumSet 

Ďalej v tomto článku o súbore Java EnumSet pochopíme rôzne metódy, ktoré táto trieda ponúka.

Metódy EnumSet

Medzi rôzne metódy ponúkané programom Java EnumSet patria:

Metóda Modifikátor a typ Popis
z (E e1)statickýEnum>
EnumSet
Používa sa na vytvorenie množiny výčtov, ktoré spočiatku obsahujú uvedený prvok, tj. E1.
z (E e1, e e2)statickýEnum>
EnumSet
Používa sa na vytvorenie výčtu, ktorý pôvodne obsahoval uvedené prvky. Tu je to e1, e2.
rozsah (E od, E do)statickýEnum>
EnumSet
Používa sa na vytvorenie množiny výčtov, ktoré spočiatku obsahujú všetky prvky v rozsahu definovanom dvoma uvedenými koncovými bodmi.
všetko z (TriedaelementType)statickýEnum>
EnumSet
Používa sa na vytvorenie súhrnu výčtov obsahujúcich všetky prvky v uvedenom type prvkov.
kópia (Zbierkac)statickýEnum>
EnumSet
Používa sa na vytvorenie množiny enumov inicializovaných zo spomínanej kolekcie.
kópia (EnumSets)statickýEnum>
EnumSet
Používa sa na vytvorenie súpravy výčtu s rovnakým typom prvku ako uvedená súprava výčtu, ktorá spočiatku obsahuje rovnaké prvky (ak existujú).
doplnok (EnumSets)statickýEnum>
EnumSet
Používa sa na vytvorenie sady výčtov s rovnakým typom prvku ako uvedená sada výčtu, spočiatku obsahujúca všetky prvky tohto typu, ktoré sú nie obsiahnuté v zadanej množine.
žiadny z (TriedaelementType)statickýEnum>
EnumSet
Použité tp na vytvorenie prázdnej enum sady so zadaným typom prvku.
klon ()EnumSetPoužíva sa na vrátenie kópie tejto sady.

Poznámka: Môžete použiť metódy () až 5 parametrov. Takže môžete cZostavte enum sadu spočiatku obsahujúcu zadané prvky nasledovne:



  • z (E e1, e e2, e e3)
  • z (E e1, E e2, E e3, E e4)
  • z (E e1, E e2, E e3, E e4, E e5)

Pretože som diskutoval o metódach používaných s EnumSet, v ďalšom návode Java EnumSet sa pozrime na praktické operácie týchto metód.

Operácie Java EnumSet

Aby som vám vysvetlil fungovanie EnumSetu, zvážim nasledujúci útržok kódu. Tento útržok kódu obsahuje množinu hodnôt enum [DevOps, Big Data, Python, Data Science, RPA]. V neskoršej časti kódu vám ukážem, ako používať rôzne metódy v nasledujúcom poradí:

  • z (E e1)
  • z (E e1, e e2)
  • z (E e1, e e2, e e3)
  • z (E e1, E e2, E e3, E e4)
  • z (E e1, E e2, E e3, E e4, E e5)
  • rozsah (E od, E do)
  • všetko z (TriedaelementType)
  • kópia (Zbierkac)
  • kópia (EnumSets)
  • doplnok (EnumSets)
  • žiadny z (Class elementType)
  • klon ()

Úryvok kódu:

balíček edureka import java.util.ArrayList import java.util.Collection import java.util.EnumSet enum Kurzy {DevOps, BigData, Python, DataScience, RPA} verejná trieda Príklad {public static void main (String [] args) {// Vytvorte EnumSet EnumSet sample_set // metódy // Pridať jeden prvok sample_set = EnumSet.of (Courses.DevOps) // Zobraziť sadu System.out.println ('EnumSet po pridaní jedného prvku je:' + sample_set) / / Pridajte dva prvky sample_set = EnumSet.of (Courses.DevOps, Courses.BigData) // Zobraziť množinu System.out.println ('Sada EnumSet po pridaní dvoch prvkov je:' + sample_set) // Pridať tri prvky sample_set = EnumSet .of (Courses.DevOps, Courses.BigData, Courses.Python) // Zobraziť množinu System.out.println ('Sada EnumSet po pridaní troch prvkov je:' + sample_set) // Pridať štyri prvky sample_set = EnumSet.of ( Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience) // Zobraziť množinu System.out.println ('Sada EnumSet po pridaní štyroch prvkov je:' + sample_set) // Pridajte päť prvkov sample_set = EnumSet.of (Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience, Courses.RPA) // Zobraziť sadu System.out.println ('EnumSet po pridaní five elements is: '+ sample_set) // Range method sample_set = EnumSet.range (Courses.BigData, Courses.DataScience) // Zobraziť nastavený System.out.println (' Rozsah EnumSet je: '+ sample_set) / / allOf method sample_set = EnumSet.allOf (Courses.class) // Zobraziť množinu System.out.println ('Všetky prvky v EnumSet sú:' + sample_set) // metóda copyOf (Collection) // Vytvoriť prázdnu kolekciu Zbierka samplecollection = new ArrayList () // Pridanie prvkov do samplecollection samplecollection.add (Courses.DevOps) samplecollection.add (Courses.BigData) samplecollection.add (Courses.Python) // Zobraziť sadu vzoriek kolekcie System.out.println („Prvky v množine kolekcií vzoriek sú: '+ samplecollection) // Vytvorte nový súbor EnumSet na uloženie položiek kolekcie EnumSet final_en umset = EnumSet.copyOf (samplecollection) // Zobraziť EnumSet System.out.println ('Prvky v EnumSet sú:' + final_enumset) // metóda copyOf (EnumSet) // Získajte všetky prvky z kurzov EnumSet example_set = EnumSet. allOf (Courses.class) // Zobraziť počiatočný EnumSet (sample_set) System.out.println ('Prvky v počiatočnom EnumSete sú:' + example_set) // Skopírujte prvky z vyššie nastavenej EnumSet final_set = EnumSet.copyOf ( example_set) // Zobrazenie prvkov v kopírovanom EnumSet System.out.println ('Prvky v kopírovanom EnumSet sú:' + final_set) // doplnková metóda // Sample Set sample_set = EnumSet.of (Courses.DevOps, Courses). BigData, Courses.Python) // Vytvorte EnumSet EnumSet doplnok_set // Doplňte vyššie uvedenú sadu doplnok_set = EnumSet.complementOf (sample_set) // Zobraziť prvky v doplnku EnumSet System.out.println ('Prvky v doplnku EnumSet sú : '+ doplnok_set) // noneOf metóda // Vytvoriť prázdnu sadu EnumSet none_example_set = EnumSet.noneOf (Courses.class) // Zobraziť prvky v množine System.out.println ('EnumSet sa skladá z prvkov:' + none_example_set) // klonová metóda EnumSet final_clone_set = sample_set.clone () // Zobraziť EnumSet System.out.println ('Sada klonov sa skladá z prvkov:' + final_clone_set)}}

Výkon:

Sada EnumSet po pridaní jedného prvku je: [DevOps] Sada EnumSet po pridaní dvoch prvkov je: [DevOps, BigData] Sada EnumSet po pridaní troch prvkov je: [DevOps, BigData, Python] Sada EnumSet po pridaní štyroch prvkov je: [DevOps , BigData, Python, DataScience] Súbor EnumSet po pridaní piatich prvkov je: [DevOps, BigData, Python, DataScience, RPA] Rozsah EnumSet je: [BigData, Python, DataScience] Všetky prvky v súbore EnumSet sú: [DevOps , BigData, Python, DataScience, RPA] Prvky v množine vzorových kolekcií sú: [DevOps, BigData, Python] Prvky v súbore EnumSet sú: [DevOps, BigData, Python] Prvky v počiatočnej súprave EnumSet sú: [DevOps, BigData, Python, DataScience, RPA] Prvky v kopírovanom súbore EnumSet sú: [DevOps, BigData, Python, DataScience, RPA] Prvky v doplnku EnumSet sú: [DataScience, RPA] EnumSet sa skladá z prvkov: [] Sada klonov sa skladá prvkov: [DevOps, BigData, Python]

Týmto sa dostávame na koniec tohto článku o Java EnumSet. Ak sa chcete dozvedieť viac informácií o prostredí Java, môžete sa obrátiť na našu stránku .

Ak považujete tento článok o „Java EnumSet“ za relevantný, pozrite si stránku dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste a prišli s učebným plánom, ktorý je určený pre študentov a profesionálov, ktorí chcú byť Vývojár Java . Kurz je navrhnutý tak, aby vám dal náskok v programovaní v jazyku Java a naučil vás základné aj pokročilé koncepty Java spolu s rôznymi Páči sa mi to Hibernácia & .

statická členská funkcia c ++

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Java EnumSet“ a náš tím na ne rád odpovie.