Java jest jednym z najpopularniejszych języków programowania używanych do tworzenia plików . Podczas tworzenia aplikacji często używamy wyliczeń do obsługi grupy nazwanych stałych. Ale jeśli chcesz zaimplementować interfejs Set z typem wyliczenia, musisz użyć EnumSet w . W tym artykule na temat Java EnumSet omówię następujące tematy:
używając przestrzeni nazw c ++
Co to jest Java EnumSet?
EnumSet to implementacja Ustaw kolekcje pracować z typ wyliczenia . EnumSet rozciąga się z AbstractSet i implementuje interfejs Set. Poniżej znajduje się kilka ważnych punktów, które musisz zrozumieć o EnumSet w Javie:
- Zawiera tylko wartości wyliczeniowe, które należą do tego samego typu wyliczenia
- Jest członkiem
- Zapewnia wysoką wydajność implementacji zestawu i nie jest zsynchronizowany
- Nie pozwala użytkownikowi na dodawanie wartości NULL i zgłasza wyjątek NullPointerException
- Elementy są przechowywane w kolejności, w jakiej są zapisywane
- Używa iteracji odpornej na awarie, która może służyć do upewnienia się, że został zgłoszony wyjątek ConcurrentModificationException
Możesz zadeklarować Java EnumSet w następujący sposób:
Deklaracja
publiczna klasa abstrakcyjna EnumSet
Następnie w tym artykule na temat Java EnumSet, pozwól nam zrozumieć różne metody oferowane przez tę klasę.
Metody EnumSet
Różne metody oferowane przez Java EnumSet są następujące:
metoda | Modyfikator i typ | Opis |
z (E e1) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń początkowo zawierającego wspomniany element, tj. E1. |
z (E e1, E e2) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń początkowo zawierającego wspomniane elementy. Tutaj jest to e1, e2. |
zasięg (E od, E do) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń początkowo zawierającego wszystkie elementy w zakresie zdefiniowanym przez dwa wspomniane punkty końcowe. |
wszystkie z (KlasaelementType) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń zawierającego wszystkie elementy we wspomnianym typie elementu. |
kopia (Kolekcjado) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń zainicjowanego ze wspomnianej kolekcji. |
kopia (EnumSets) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń z tym samym typem elementu, co wspomniany zestaw wyliczeń, początkowo zawierającym te same elementy (jeśli istnieją). |
complementOf (EnumSets) | statyczny EnumSet | Służy do tworzenia zestawu wyliczeń z tym samym typem elementu, co wspomniany zestaw wyliczeń, początkowo zawierającego wszystkie elementy tego typu, które są nie zawarte w określonym zestawie. |
żaden z (KlasaelementType) | statyczny EnumSet | Użyto tp, aby utworzyć pusty zestaw wyliczeń z określonym typem elementu. |
klon () | EnumSet | Używane do zwrotu kopii tego zestawu. |
Uwaga: Możesz użyć of () metoda do 5 parametrów. Więc możesz cUtwórz zestaw wyliczeniowy początkowo zawierający określone elementy w następujący sposób:
- 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)
Ponieważ omówiłem metody używane z EnumSet, następnie w samouczku Java EnumSet, zobaczmy praktyczne operacje tych metod.
Operacje Java EnumSet
Aby wyjaśnić działanie EnumSet, rozważę następujący fragment kodu. Ten fragment kodu zawiera zestaw wartości wyliczeniowych [DevOps, Big Data, Python, Data Science, RPA]. W dalszej części kodu pokażę, jak używać różnych metod w następującej kolejności:
- 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)
- zasięg (E od, E do)
- wszystkie z (KlasaelementType)
- kopia (Kolekcjado)
- kopia (EnumSets)
- complementOf (EnumSets)
- żaden z (Klasa elementType)
- klon ()
Fragment kodu:
pakiet edureka import java.util.ArrayList import java.util.Collection import java.util.EnumSet enum Kursy {DevOps, BigData, Python, DataScience, RPA} public class Przykład {public static void main (String [] args) {// Utwórz EnumSet EnumSet sample_set // metody // Dodaj pojedynczy element sample_set = EnumSet.of (Courses.DevOps) // Wyświetl zestaw System.out.println ('The EnumSet po dodaniu pojedynczego elementu to:' + sample_set) / / Dodaj dwa elementy sample_set = EnumSet.of (Courses.DevOps, Courses.BigData) // Wyświetl zestaw System.out.println ('The EnumSet po dodaniu dwóch elementów to:' + sample_set) // Dodaj trzy elementy sample_set = EnumSet .of (Courses.DevOps, Courses.BigData, Courses.Python) // Wyświetl zestaw System.out.println ('The EnumSet po dodaniu trzech elementów to:' + sample_set) // Dodaj cztery elementy sample_set = EnumSet.of ( Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience) // Wyświetl zestaw System.out.println ('The EnumSet po dodaniu czterech elementów to:' + sample_set) // Dodaj pięć elementów sample_set = EnumSet.of (Courses.DevOps, Courses.BigData, Courses.Python, Courses.DataScience, Courses.RPA) // Wyświetl zestaw System.out.println ('The EnumSet po dodaniu pięć elementów to: '+ sample_set) // Range method sample_set = EnumSet.range (Courses.BigData, Courses.DataScience) // Wyświetl zestaw System.out.println (' Zakres EnumSet to: '+ sample_set) / / allOf method sample_set = EnumSet.allOf (Courses.class) // Wyświetl zestaw System.out.println ('Wszystkie elementy w EnumSet to:' + sample_set) // copyOf (Collection) metoda // Utwórz pustą kolekcję Kolekcja samplecollection = new ArrayList () // Dodaj elementy do kolekcji samplecollection samplecollection.add (Courses.DevOps) samplecollection.add (Courses.BigData) samplecollection.add (Courses.Python) // Wyświetl zestaw kolekcji próbek System.out.println ('Elementy w zestawie kolekcji próbek to:' + samplecollection) // Utwórz nowy EnumSet do przechowywania elementów kolekcji EnumSet final_en umset = EnumSet.copyOf (samplecollection) // Wyświetl EnumSet System.out.println ('Elementy w EnumSet to:' + final_enumset) // copyOf (EnumSet) metoda // Pobierz wszystkie elementy z Courses EnumSet example_set = EnumSet. allOf (Courses.class) // Wyświetl początkowy EnumSet (sample_set) System.out.println ('Elementy w początkowym EnumSet to:' + example_set) // Skopiuj elementy z powyższego zestawu EnumSet final_set = EnumSet.copyOf ( example_set) // Wyświetl elementy w skopiowanym EnumSet System.out.println ('Elementy w skopiowanym EnumSet to:' + final_set) // complementOf method // Sample Set sample_set = EnumSet.of (Courses.DevOps, Courses. BigData, Courses.Python) // Utwórz EnumSet EnumSet complement_set // Uzupełnij powyższy zestaw complement_set = EnumSet.complementOf (sample_set) // Wyświetl elementy w uzupełnieniu EnumSet System.out.println ('Elementy w uzupełnieniu EnumSet to : '+ complement_set) // noneOf method // Utwórz pusty zestaw EnumSet none_example_set = EnumSet.noneOf (Courses.class) // Wyświetl elementy w zestawie System.out.println ('EnumSet składa się z elementów:' + none_example_set) // clone method EnumSet final_clone_set = sample_set.clone () // Wyświetl EnumSet System.out.println ('Zestaw klonów składa się z elementów:' + final_clone_set)}}
Wynik:
EnumSet po dodaniu pojedynczego elementu to: [DevOps] EnumSet po dodaniu dwóch elementów to: [DevOps, BigData] EnumSet po dodaniu trzech elementów to: [DevOps, BigData, Python] EnumSet po dodaniu czterech elementów to: [DevOps , BigData, Python, DataScience] EnumSet po dodaniu pięciu elementów to: [DevOps, BigData, Python, DataScience, RPA] Zakres EnumSet to: [BigData, Python, DataScience] Wszystkie elementy w EnumSet to: [DevOps , BigData, Python, DataScience, RPA] Elementy w przykładowym zestawie kolekcji to: [DevOps, BigData, Python] Elementy w zestawie EnumSet to: [DevOps, BigData, Python] Elementy w początkowym zestawie EnumSet to: [DevOps, BigData, Python, DataScience, RPA] Elementy w skopiowanym zestawie EnumSet to: [DevOps, BigData, Python, DataScience, RPA] Elementy w uzupełnieniu EnumSet to: [DataScience, RPA] EnumSet składa się z elementów: [] Zestaw klonów składa się elementów: [DevOps, BigData, Python]
To prowadzi nas do końca tego artykułu na temat Java EnumSet. Jeśli chcesz dowiedzieć się więcej o Javie, możesz skorzystać z naszego .
Jeśli uważasz, że ten artykuł w „Java EnumSet” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.
Jesteśmy tutaj, aby pomóc Ci na każdym kroku w Twojej podróży i opracować program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą być Programista Java . Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych lubić Hibernować & .
struktura danych i algorytm w java
Jeśli napotkasz jakieś pytania, nie krępuj się zadawać je w sekcji komentarzy w „Java EnumSet”, a nasz zespół z przyjemnością odpowie.