Java Code Snippet: EnumSet

In java kann man ganz leicht Sets aus Enums erzeugen. Was die Hilfsklasse java.util.EnumSet bereitstellt kann man hier nachlesen.

Eine einfache Möglichkeit Mengen mit Enums zu bauen bietet die Klasse java.util.EnumSet. Diese Klasse bietet mehrere Methoden um Enums zu einer speziellen Implementierung eines Sets zu vereinen:

EnumSet.allOf();
EnumSet.complementOf();
EnumSet.copyOf();
EnumSet.nonOf();
EnumSet.of();
EnumSet.range();

Dabei wird stehts gewahrt, dass ein EnumSet nur von einem Typ ist der Parameter explizit oder implizit übergeben wird. Ich möchte hier noch die einzelnen Methoden überblicksmäßig erklären:

allOf – liefert ein Set zurück dass alle Ausprägungen eines Enums beinhaltet, dazu wird der Methode eine Enum Klasse übergeben

complementOf – erhält als Parameter ein EnumSet und bildet daraus ein neues EnumSet, dass all jene Enum Ausprägungen enthält die nicht im übergebenen Set beinhaltet waren.

copyOf – kopiert eine Collection oder EnumSet und erzeugt ein neues EnumSet

nonOf – erzeugt ein leeres EnumSet mit dem Typ der übergebenen Enum Klasse

of – diese Methode gibt es in verschiedenen Ausführungen was die Anzahl der zu übergebenden Enum Ausprägungen betrifft. Die wohl wichtigste ist die Variante mit dem varargs Argument, dass dem Entwickler und der entsprechenden Implementierung sämltiche Freiheiten bei der Wahl der Anzahl der Argumente lässt.

range – erzeugt ein neues EnaumSet, welches alle Ausprägungen eines Enums innerhalb des mitgebenen Start und Endwertes beinhaltet.

Genauers gibts in der API:

http://download.oracle.com/javase/6/docs/api/java/util/EnumSet.html

Happy Coding!

Ähnliche Artikel: