java从大量作为枚举参数的集合创建映射
我有一个包含47个常量的枚举,每个常量都定义了一个包含字节数的powerSet
我想创建一个Map<Byte, MyEnum>
,每个Set
中的每个字节对应一个键,该键对应于我的枚举常量,并且该集合来自的枚举常量作为每个键的值
因此,例如,如果来自MyEnum
的VALUE_30
在其集合中有4, 10, -20, 50
,则映射将包含以下键和值:
4, VALUE_30
10, VALUE_30
-20, VALUE_30
50, VALUE_30
我需要这样做的原因是,当我的代码运行时,经常调用这个枚举,并且必须循环遍历枚举中的每个常量,这对性能非常重要
我的枚举看起来像这样(总结并带有一点伪代码):
public enum MyEnum {
VALUE_1(1, 0),
VALUE_2(2, 16),
VALUE_3(3, 17),
VALUE_4(4, 1),
VALUE_5(5, 116),
VALUE_6(6, -59),
VALUE_7(7, 29),
//... and so on for a total of 47 values
private final int index;
private final byte byteIndex;
private final Set<Byte> byteIndexPowerSet;
MyEnum(int faceIndex, byte byteIndex) {
this.faceIndex = faceIndex;
this.byteIndex= byteIndex;
this.byteIndexPowerSet = //Function of mine that creates the powerSet from the value's params
}
}
共 (0) 个答案