Heim >Java >javaLernprogramm >Enumset in Java

Enumset in Java

WBOY
WBOYOriginal
2024-08-30 15:15:44655Durchsuche

Enum-Sets sind die Implementierung einer Set-Schnittstelle und erweitern die abstrakte Klasse in Java für den Aufzählungstyp. Die are Set-Sammlung bietet die Funktionalität zum Arbeiten mit Aufzählungen in Java. Enum-Sets werden nicht synchronisiert; Daher ermöglichen sie einen schnelleren Zugriff auf Elemente. Enum-Sets erlauben das Hinzufügen von Nullelementen nicht. Wenn wir versuchen, einen Nullwert hinzuzufügen, wird eine Nullzeigerausnahme ausgelöst.

Syntax:

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

public abstract class EnumSet<E extends Enum<E>> || This is the class decralation of enum set.
EnumSet<E extends Enum<E>> enum1, enum2, enum3, enum4; || Declare different enum.

Da Enum-Sets nicht synchronisiert sind, sind sie viel Master, aber wir können sie synchronisieren, indem wir unten die synchronisierte Methode() der Sammlungsklasse verwenden. Finden Sie die Syntax für synchronisiert.

Collections.synchronizedSet(java.util.Set<T>)
Set<Enum_Type> s = Collections.synchronizedSet(EnumSet.noneOf(EnumClass.class));

Methoden von Enumset in Java

  • statisch > allOf(Class elementType): Mit dieser Methode wird die Aufzählung mit allen genannten Elementen erstellt.
  • EnumSet clone(): Mit dieser Methode wird die Kopie des Sets erstellt. Der Rückgabetyp ist EnumSet.
  • statisch > komplementOf(EnumSet s): Diese Methode wird verwendet, um den in der Methode angegebenen Aufzählungssatz zu erstellen. Dieser Aufzählungssatz enthält alle Elemente, die nicht im Satz enthalten sind.
  • statisch > copyOf(Collection c): Dadurch wird eine Kopie des Enumerationssatzes erstellt, der in der Methode angegeben ist. Aber es braucht den Sammlungsparameter.
  • statisch > copyOf(EnumSet s): Dadurch wird eine Aufzählung erstellt, die als Aufzählungssatz angegeben wird. Dadurch wird ein EnumSet zurückgegeben.
  • statisch > noneOf(Class elementType): Dadurch wird auch eine Aufzählung erstellt, die in der Methode angegeben ist. Gibt ein EnumSet zurück.
  • statisch > of(E e): Erstellen Sie außerdem eine Aufzählung mit anfänglichen Elementen. Der Rückgabetyp ist EnumSet.
  • statisch > of(E first, E… rest): Erstellt eine Aufzählung, die Elemente enthält, und gibt EnumSet
  • zurück
  • statisch > of(E e1, E e2): Diese Methode erstellt eine Aufzählung mit den genannten Elementen. Der Rückgabetyp ist EnumSet
  • statisch > of(E e1, E e2, E e3): Diese Methode erstellt eine Aufzählung. Der Rückgabetyp der Methode ist EnumSet .
  • statisch > of(E e1, E e2, E e3, E e4): Diese Methode erstellt auch die Aufzählung mit angegebenen Elementen. Der Rückgabetyp ist EnumSet
  • statisch > of(E e1, E e2, E e3, E e4, E e5): Diese Methode erstellt auch die Aufzählung mit den als Aufzählung übergebenen Elementen. Der Rückgabetyp ist EnumSet
  • statisch > Bereich(E von, E bis): Mit dieser Methode können wir den Bereich angeben. Dann wird eine neue Enumeration erstellt. Der Rückgabetyp ist EnumSet .

Hinweis:

  • Enum-Set implementiert verschiedene Klassen und Schnittstellen. Deklaration der Enum-Set-Klasse:
  • öffentliche abstrakte Klasse EnumSet> erweitert AbstractSet implementiert Klonbar, Serialisierbar

Schnittstellen, die durch Enum-Set implementiert werden:

  • Klonbar
  • Setzen Sie
  • Serialisierbar
  • Sammlung
  • Iterierbar

Klassen, die um einen Enum-Satz erweitert werden, sind die folgenden:

  • AbstractSet

Beispiele für Enumset in Java

Im Folgenden finden Sie Beispiele für Aufzählungssätze:

Beispiel #1

Im folgenden Beispiel fügen wir Elemente zum Aufzählungssatz hinzu.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Ausgabe:

Enumset in Java

Beispiel #2

In diesem Beispiel erstellen wir enum2, indem wir nur den Wert sf enum1 verwenden. Unten finden Sie ein Beispiel.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// adding value to another enum set using addAll method
EnumSet<EnumDemo> enum2 = EnumSet.allOf(EnumDemo.class);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Ausgabe:

Enumset in Java

Beispiel #3

In diesem Beispiel finden wir Ergänzungen f enum1 zu enum2.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// finind completents of enum1 to enum2
EnumSet<EnumDemo> enum2 = EnumSet.complementOf(enum1);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Ausgabe:

Enumset in Java

Example #4

Specifying range to elements to be copied.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// here we are specifing the range to another enum using enum1
EnumSet<EnumDemo> enum2 = EnumSet.range(EnumDemo.PYTHON, EnumDemo.JAVASCRIPT);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Output:

Enumset in Java

Example #5

Making copy from existing enum.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// here we are copying elements of enum1 to enum2.
EnumSet<EnumDemo> enum2 = EnumSet.copyOf(enum1);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Output:

Enumset in Java

Conclusion

Java EnumSet is the implementation of the SET interface in java. They are a special type of java collection framework that provides support for enum types in java. We can also make them synchronized as these are not synchronized.

Das obige ist der detaillierte Inhalt vonEnumset in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn