Java : EnumMap con ejemplos
EnumMap (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos EnumMap<K extends Enum<K>,V>.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
Una implementación de mapa especializada para usar con claves de tipo de enumeración. Todas las claves de un mapa de enumeración deben provenir de un único tipo de enumeración que se especifica, explícita o implícitamente, cuando se crea el mapa. Los mapas de enumeración se representan internamente como matrices. Esta representación es extremadamente compacta y eficiente. (Traducción automática)
final var map = new EnumMap<DayOfWeek, String>(DayOfWeek.class);
System.out.println(map); // {}
map.put(DayOfWeek.MONDAY, "aaa");
map.put(DayOfWeek.TUESDAY, "bbb");
map.put(DayOfWeek.WEDNESDAY, "ccc");
System.out.println(map); // {MONDAY=aaa, TUESDAY=bbb, WEDNESDAY=ccc}
System.out.println(map.get(DayOfWeek.MONDAY)); // aaa
System.out.println(map.get(DayOfWeek.TUESDAY)); // bbb
System.out.println(map.get(DayOfWeek.WEDNESDAY)); // ccc
System.out.println(map.get(DayOfWeek.THURSDAY)); // null
map.remove(DayOfWeek.MONDAY);
System.out.println(map); // {TUESDAY=bbb, WEDNESDAY=ccc}
Constructors
EnumMap (Class<K> keyType)
Crea un mapa de enumeración vacío con el tipo de clave especificado. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
System.out.println(map); // {}
System.out.println(map.isEmpty()); // true
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.size()); // 3
EnumMap (EnumMap<K,? extends V> m)
Crea un mapa de enumeración con el mismo tipo de clave que el mapa de enumeración especificado, que inicialmente contiene las mismas asignaciones (si las hay). (Traducción automática)
final var m = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
m.put(DayOfWeek.MONDAY, 10);
m.put(DayOfWeek.TUESDAY, 20);
m.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(m); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(m.size()); // 3
final var map = new EnumMap<>(m);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.size()); // 3
EnumMap (Map<K,? extends V> m)
Crea un mapa de enumeración inicializado a partir del mapa especificado. (Traducción automática)
final var m = new HashMap<DayOfWeek, Integer>();
m.put(DayOfWeek.MONDAY, 10);
m.put(DayOfWeek.TUESDAY, 20);
m.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(m); // {WEDNESDAY=30, TUESDAY=20, MONDAY=10}
System.out.println(m.size()); // 3
final var map = new EnumMap<>(m);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.size()); // 3
Methods
void clear ()
Elimina todas las asignaciones de este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.size()); // 3
map.clear();
System.out.println(map); // {}
System.out.println(map.size()); // 0
EnumMap<K,V> clone ()
Devuelve una copia superficial de este mapa de enumeración. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
final var cloned = map.clone();
System.out.println(cloned); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(cloned.getClass()); // class java.util.EnumMap
boolean containsKey (Object key)
Devuelve verdadero si este mapa contiene una asignación para la clave especificada. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.containsKey(DayOfWeek.MONDAY)); // true
System.out.println(map.containsKey(DayOfWeek.TUESDAY)); // true
System.out.println(map.containsKey(DayOfWeek.WEDNESDAY)); // true
System.out.println(map.containsKey(DayOfWeek.SUNDAY)); // false
boolean containsValue (Object value)
Devuelve verdadero si este mapa asigna una o más claves al valor especificado. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
map.put(DayOfWeek.THURSDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30, THURSDAY=30}
System.out.println(map.containsValue(0)); // false
System.out.println(map.containsValue(10)); // true
System.out.println(map.containsValue(20)); // true
System.out.println(map.containsValue(30)); // true
System.out.println(map.containsValue(40)); // false
Set<Map.Entry<K,V>> entrySet ()
Devuelve una vista de conjunto de las asignaciones contenidas en este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 1);
map.put(DayOfWeek.TUESDAY, 2);
map.put(DayOfWeek.WEDNESDAY, 3);
System.out.println(map); // {MONDAY=1, TUESDAY=2, WEDNESDAY=3}
final var entries = map.entrySet();
System.out.println(entries); // [MONDAY=1, TUESDAY=2, WEDNESDAY=3]
map.replace(DayOfWeek.TUESDAY, 20);
System.out.println(map); // {MONDAY=1, TUESDAY=20, WEDNESDAY=3}
System.out.println(entries); // [MONDAY=1, TUESDAY=20, WEDNESDAY=3]
entries.remove(Map.entry(DayOfWeek.MONDAY, 1));
System.out.println(map); // {TUESDAY=20, WEDNESDAY=3}
System.out.println(entries); // [TUESDAY=20, WEDNESDAY=3]
for (final var entry : entries) {
entry.setValue(entry.getValue() * 10);
}
System.out.println(map); // {TUESDAY=200, WEDNESDAY=30}
System.out.println(entries); // [TUESDAY=200, WEDNESDAY=30]
boolean equals (Object o)
Compara el objeto especificado con este mapa para verificar la igualdad. (Traducción automática)
final var map1 = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map1.put(DayOfWeek.MONDAY, 1);
map1.put(DayOfWeek.TUESDAY, 2);
final var map2 = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map2.put(DayOfWeek.MONDAY, 1);
map2.put(DayOfWeek.TUESDAY, 2);
final var map3 = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map3.put(DayOfWeek.MONDAY, 10);
map3.put(DayOfWeek.TUESDAY, 20);
final var map4 = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map4.put(DayOfWeek.FRIDAY, 1);
map4.put(DayOfWeek.SATURDAY, 2);
System.out.println(map1); // {MONDAY=1, TUESDAY=2}
System.out.println(map2); // {MONDAY=1, TUESDAY=2}
System.out.println(map3); // {MONDAY=10, TUESDAY=20}
System.out.println(map4); // {FRIDAY=1, SATURDAY=2}
System.out.println(map1.equals(map2)); // true
System.out.println(map1.equals(map3)); // false
System.out.println(map1.equals(map4)); // false
V get (Object key)
Devuelve el valor al que está asignada la clave especificada, o nulo si este mapa no contiene ninguna asignación para la clave. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.get(DayOfWeek.MONDAY)); // 10
System.out.println(map.get(DayOfWeek.TUESDAY)); // 20
System.out.println(map.get(DayOfWeek.WEDNESDAY)); // 30
System.out.println(map.get(DayOfWeek.THURSDAY)); // null
int hashCode ()
Devuelve el valor del código hash para este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 1);
map.put(DayOfWeek.TUESDAY, 2);
System.out.println(map); // {MONDAY=1, TUESDAY=2}
System.out.println(map.hashCode()); // 2075746216
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
System.out.println(map); // {MONDAY=10, TUESDAY=20}
System.out.println(map.hashCode()); // 2075746219
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.FRIDAY, 1);
map.put(DayOfWeek.SATURDAY, 2);
System.out.println(map); // {FRIDAY=1, SATURDAY=2}
System.out.println(map.hashCode()); // -1797384182
Set<K> keySet ()
Devuelve una vista de conjunto de las claves contenidas en este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
final var keys = map.keySet();
System.out.println(keys); // [MONDAY, TUESDAY, WEDNESDAY]
map.put(DayOfWeek.THURSDAY, 40);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30, THURSDAY=40}
System.out.println(keys); // [MONDAY, TUESDAY, WEDNESDAY, THURSDAY]
keys.remove(DayOfWeek.MONDAY);
System.out.println(map); // {TUESDAY=20, WEDNESDAY=30, THURSDAY=40}
System.out.println(keys); // [TUESDAY, WEDNESDAY, THURSDAY]
V put (K key, V value)
Asocia el valor especificado con la clave especificada en este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
System.out.println(map); // {}
System.out.println(map.put(DayOfWeek.MONDAY, 10)); // null
System.out.println(map); // {MONDAY=10}
System.out.println(map.put(DayOfWeek.TUESDAY, 20)); // null
System.out.println(map); // {MONDAY=10, TUESDAY=20}
System.out.println(map.put(DayOfWeek.WEDNESDAY, 30)); // null
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.put(DayOfWeek.MONDAY, 999)); // 10
System.out.println(map); // {MONDAY=999, TUESDAY=20, WEDNESDAY=30}
void putAll (Map<? extends K,? extends V> m)
Copia todas las asignaciones del mapa especificado a este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
System.out.println(map); // {}
map.putAll(Map.of());
System.out.println(map); // {}
final var m1 = Map.of(DayOfWeek.MONDAY, 10);
map.putAll(m1);
System.out.println(map); // {MONDAY=10}
final var m2 = Map.of(DayOfWeek.TUESDAY, 20, DayOfWeek.WEDNESDAY, 30);
map.putAll(m2);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
final var m3 = Map.of(DayOfWeek.MONDAY, 910, DayOfWeek.TUESDAY, 920);
map.putAll(m3);
System.out.println(map); // {MONDAY=910, TUESDAY=920, WEDNESDAY=30}
V remove (Object key)
Elimina la asignación de esta clave de este mapa si está presente. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 10);
map.put(DayOfWeek.TUESDAY, 20);
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.remove(DayOfWeek.TUESDAY)); // 20
System.out.println(map); // {MONDAY=10, WEDNESDAY=30}
System.out.println(map.remove(DayOfWeek.SUNDAY)); // null
System.out.println(map); // {MONDAY=10, WEDNESDAY=30}
int size ()
Devuelve el número de asignaciones clave-valor en este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
System.out.println(map); // {}
System.out.println(map.size()); // 0
map.put(DayOfWeek.MONDAY, 10);
System.out.println(map); // {MONDAY=10}
System.out.println(map.size()); // 1
map.put(DayOfWeek.TUESDAY, 20);
System.out.println(map); // {MONDAY=10, TUESDAY=20}
System.out.println(map.size()); // 2
map.put(DayOfWeek.WEDNESDAY, 30);
System.out.println(map); // {MONDAY=10, TUESDAY=20, WEDNESDAY=30}
System.out.println(map.size()); // 3
Collection<V> values ()
Devuelve una vista de colección de los valores contenidos en este mapa. (Traducción automática)
final var map = new EnumMap<DayOfWeek, Integer>(DayOfWeek.class);
map.put(DayOfWeek.MONDAY, 1);
map.put(DayOfWeek.TUESDAY, 2);
map.put(DayOfWeek.WEDNESDAY, 3);
System.out.println(map); // {MONDAY=1, TUESDAY=2, WEDNESDAY=3}
final var values = map.values();
System.out.println(values); // [1, 2, 3]
map.replace(DayOfWeek.TUESDAY, 20);
System.out.println(map); // {MONDAY=1, TUESDAY=20, WEDNESDAY=3}
System.out.println(values); // [1, 20, 3]
values.remove(1);
System.out.println(map); // {TUESDAY=20, WEDNESDAY=3}
System.out.println(values); // [20, 3]
Methods declared in AbstractMap
Methods declared in Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
Consulte el siguiente enlace.
Related posts
- Ejemplos de API