EnumSet/EnumMap
можно создать, указав определенное перечисление для создания экземпляра set / map, как показано в примере кода ниже.
Пока я читал, разница между EnumSet/EnumMap
и Set / Map состоит в том, что мы не можем добавлять объекты, отличные от Enum
в EnumSet/EnumMap
.
Если дело обстоит именно так, то достаточно будет только самого обобщенного набора / карты, не так ли?
Найдите 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
, хотя мы можем создать набор / карту, которая генерируется для определенного Enum?
Заранее спасибо.