EnumSet/EnumMap
可以通过指定定义的枚举来创建 set/map 实例,如下面的示例代码所示。
到目前为止,我读到,EnumSet/EnumMap
与 Set/Map 的区别在于我们不能添加Enum
除EnumSet/EnumMap
. 如果是这种情况,那么仅仅泛型化的 Set/Map 本身就足够了,不是吗?
请找到EnumSet/EnumMap
它们各自的泛型Set/Map
如下,
enum Value {
VALUE_1, VALUE_2, VALUE_3
};
public class Sample {
public static void main(String args[]) {
EnumSet<Value> enumSet = EnumSet.of(Value.VALUE_1);
Set<Value> enumGenerifiedSet = new HashSet<Value>();
enumGenerifiedSet.add(Value.VALUE_1);
EnumMap<Value, Integer> enumMap = new EnumMap<Value, Integer>(Value.class);
enumMap.put(Value.VALUE_1, 1);
Map<Value, Integer> enumGenerifiedMap = new HashMap<Value, Integer>();
enumGenerifiedMap.put(Value.VALUE_1, 1);
}
}
那么您能否告诉我,EnumSet/EnumMap
即使我们能够创建泛化为已定义枚举的集合/映射,有什么需要?
提前致谢。