是否有枚举作为索引的数组的替换?

cof*_*net 6 c java enums

我曾经使用枚举作为C中的索引.(每个枚举类似于int值的别名)示例:

typedef enum {DOG, CAT, MOUSE} ANIMALS;
int[3] age;
...
age[DOG] = 4;
age[CAT] = 3;
age[MOUSE] = 10;
Run Code Online (Sandbox Code Playgroud)

使用枚举作为索引,我总是可以确定我正在更新正确的单元格.此外,我还需要简单的数组.

我想在Java中做同样的事情.但是,我似乎无法找到一个简单的替代品.有没有人知道可以像在Array中使用Array + enum combo一样使用的替换?

Don*_*orM 6

是的,有一个相当简单的.使用HashMaps.

Map<CustomEnum, Object> hashMap = new HashMap<>();

//Basic usage
hashMap.put(CustomEnumID, ObjectValue);
ObjectValue obj = hashMap.get(CustumEnumID); //Returns the value from the above line
hashMap.containsValue(CustomEnumID); //Return true or false
Run Code Online (Sandbox Code Playgroud)