# HashMap mit Enum Keys



## luma2 (4. Aug 2010)

Das hier funktioniert:


```
public class JavaExtensions {
	public static enum Direction {
		CONST1, CONST2;
	}
	
	EnumHashMap<Direction> d = new EnumHashMap<Direction>();
	
	public static class EnumHashMap<E extends Enum<?>> extends HashMap<Enum<?>,Integer> {
		public EnumHashMap() {
			super(2,1);
		}
	}
}
```

Ich hab aber mehrere enums, deswegen will ich statt der Kapazität 2 die Anzahl der Enum-Konstanten, so was wie

```
E.values().length
```
Das will nicht, wie muss es richtig heißen?

Luma


----------



## XHelp (4. Aug 2010)

Du erstellst ja eine HashMap vom Typ X und nicht für ein Objekt Y. (k.A. wie ich es anders schreiben soll).
Du könntest dir höhstens eine Factory schreiben, deren du ein ENUM übergibst und dir dir eine passende HashMap zurückliefert.
Übrigens: warum willst du die Größe der HashMap ändern?


----------



## Marco13 (5. Aug 2010)

Und mal ganz was anderes: EnumMap (Java Platform SE 6) kennst du?


----------



## luma2 (5. Aug 2010)

XHelp hat gesagt.:


> Übrigens: warum willst du die Größe der HashMap ändern?


weil manche meiner Enums mehr als 2 Konstanten haben



Marco13 hat gesagt.:


> Und mal ganz was anderes: EnumMap (Java Platform SE 6) kennst du?


das ist was ich suche


----------

