2010-01-02 85 views
1

我正在尋找像EnumMap這樣的類,除了枚舉類型值(即EnumValueMap<K,V extends Enum<V>>)。用於枚舉類型值的EnumMap的Java中的等效內容?

http://java.sun.com/javase/6/docs/api/java/util/EnumMap.html

編輯


如果我是映射,也就是說,一個幾百萬的對象,以10種枚舉類型,我想到這樣做至少可以創造比內存更高效的實現只使用HashMap<Object, V extends Enum<V>>。也許不是。

+0

您對這樣的課程有什麼好處? EnumMap具有緊湊和高效的實現,因爲值存儲在數組中,並且枚舉常量的序號是該數組中的索引。但是從對象映射到枚舉probalby將沒有任何實現好處,所以你可以使用任何地圖實現。 – axtavt 2010-01-03 00:06:11

回答

2

我想將對象映射到枚舉類型值。我正在尋找一些Map接口,而不是Set接口。

好吧,聽起來你需要的是一個HashMap<Object, V extends Enum<V>>

1

你可以使用任何你喜歡的Map實現(如HashMap)。 Java中的枚舉是類,它們的值是對象,它們不需要特殊的處理。

請注意,枚舉與鍵一樣。 EnumMap(和EnumSet)被簡單地用於枚舉優化,並且因此可以更快/使用較少的內存/ ...