有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从大量作为枚举参数的集合创建映射

我有一个包含47个常量的枚举,每个常量都定义了一个包含字节数的powerSet

我想创建一个Map<Byte, MyEnum>,每个Set中的每个字节对应一个键,该键对应于我的枚举常量,并且该集合来自的枚举常量作为每个键的值

因此,例如,如果来自MyEnumVALUE_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) 个答案