列舉類enum儲存於map、set
阿新 • • 發佈:2022-04-16
列舉ENUM
用途:後端獲取 列舉資料 統一打包給前端,前端通過下拉框展示資料。
例子中獲取列舉值的方式有三種:
- OperTypeEnum.ADD
- OperTypeEnum.ADD.code -> result: 1
- OperTypeEnum.ADD.name -> result: "增加"
一、EnumSet
// 建立列舉類的set集合 EnumSet enumSet = EnumSet.allOf(OperTypeEnum.class); // 通過迭代器遍歷 enumSet.iterator().forEachRemaining(ele -> System.out.println(ele));
二、EnumMap
EnumMap enumMap = new EnumMap(OperTypeEnum.class);
OperTypeEnum[] oArr = OperTypeEnum.values();
for(OperTypeEnum operTypeEnum : oArr){
enumMap.put(operTypeEnum,operTypeEnum.name);
}
System.out.println(enumMap);
三、自定義map
package enumClass; import java.util.HashMap; import java.util.Map; /** * 操作型別列舉 * 1.增刪改查 * */ public enum OperTypeEnum { ADD(1,"增加"), DELETE(2,"刪除"), SELECT(3,"查詢"), UPDATE(4,"修改"); public int code; public String name; // 構造方法 OperTypeEnum(int code, String name){ this.code = code; this.name = name; } /** * 遍歷列舉,將資料存放於map中 * */ public static Map<Integer,String> enumArrayToMap(){ Map<Integer,String> map = new HashMap<>(); // values()獲取列舉物件的陣列:[OperTypeEnum,OperTypeEnum,...] OperTypeEnum[] oArr = OperTypeEnum.values(); // for // for (int i = 0; i < oArr.length; i++) { // map.put(oArr[i].code,oArr[i].name); // } // forEach for(OperTypeEnum operTypeEnum : oArr){ map.put(operTypeEnum.code,operTypeEnum.name); } return map; } public static void main(String[] args) { Map<Integer,String> map = enumArrayToMap(); System.out.println(map.get(1)); } }