java读取枚举类的值转成list和map方式
时间: 2024-09-20 21:10:54 浏览: 41
在Java中,枚举(Enum)是一种特殊的类,常用于定义一组固定的常量。如果你想将枚举类的所有值转换为List或Map,可以按照以下步骤操作:
**转换为List:**
```java
import java.util.ArrayList;
import java.util.List;
public enum MyEnum {
VALUE1, VALUE2, VALUE3;
public static List<MyEnum> getAllValuesAsList() {
ArrayList<MyEnum> list = new ArrayList<>();
for (MyEnum value : values()) {
list.add(value);
}
return list;
}
}
// 使用
List<MyEnum> myEnumList = MyEnum.getAllValuesAsList();
```
这里`values()`方法会返回当前枚举类型的全部实例。
**转换为Map(键值对形式):**
```java
import java.util.HashMap;
import java.util.Map;
public enum MyEnum {
VALUE1(1), VALUE2(2), VALUE3(3);
private int value;
// 枚举构造函数和value字段
MyEnum(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public static Map<Integer, MyEnum> getAllValuesAsMap() {
HashMap<Integer, MyEnum> map = new HashMap<>();
for (MyEnum value : values()) {
map.put(value.getValue(), value);
}
return map;
}
}
// 使用
Map<Integer, MyEnum> myEnumMap = MyEnum.getAllValuesAsMap();
```
这里先为每个枚举值添加了一个对应的整数值,然后创建了Map并存储它们的关系。
阅读全文