En Java 9, se agregan algunas características en el lenguaje Java y el método de fábrica para el mapa inmutable es una de ellas.
Características del mapa inmutable:
- Como sugiere el nombre, estos mapas son inmutables.
- Si se intenta agregar, eliminar y actualizar elementos en el mapa, tendremos UnsupportedOperationException.
- El mapa inmutable tampoco permite elementos nulos.
- Si se intenta crear un mapa inmutable con un elemento nulo, tendremos NullPointerException. Si se intenta agregar un elemento nulo en el mapa, tendremos UnsupportedOperationException.
Creando un mapa inmutable en Java 8
Para crear un mapa inmutable en Java 8, usamos el método java.util.unmodifiableMap (Mapa de mapa). unmodifiableMap (mapa de mapa): este método devuelve una vista no modificable del mapa especificado. Este método permite que los módulos brinden a los usuarios acceso de «solo lectura» a los mapas internos.
Syntax: public static Map unmodifiableMap(Map map) Returns: an unmodifiable view of the specified map. Exception: NA
Código Java para mapa inmutable vacío y no vacío:
// Java code illustrating immutable map in java 8 import java.util.*; class ImmutableListDemo { public static void main(String args[]) { // empty map Map<Integer, String> empty = new HashMap(); Map immutable1 = Collections.unmodifiableMap(empty); // non-empty map Map<Integer, String> non_empty = new HashMap(); non_empty.put(1, "ide"); Map immutable2 = Collections.unmodifiableMap(non_empty); // adding key-value pair in these immutable map immutable1.put(1,"gfg"); immutable2.put(2,"quiz"); } }
El código anterior generará una excepción, porque estamos tratando de agregar un par clave-valor en un mapa inmutable.
Runtime Error : Exception in thread "main" java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableMap.put(Collections.java:1457) at ImmutableListDemo.main(File.java:17)
Creando un mapa inmutable en java 9
Para crear un mapa inmutable en Java 9, usamos los métodos of() y ofEntries() .
Código Java para crear un mapa inmutable en Java 9:
// Java code illustrating of() method import java.util.*; class ImmutableListDemo { public static void main(String args[]) { // empty immutable map Map<Integer, String> immutable1 = Map.of(); // non-empty immutable map Map<Integer, String> immutable2 = Map.of(1, "ide",2, "quiz"); // adding key-value pair in these immutable map immutable1.put(1,"gfg"); immutable2.put(3,"contribute"); } }
Después de ejecutar el código anterior, tendremos UnsupportedOperationException.
Código Java para crear un mapa inmutable usando el método Map.ofEntries() en Java 9:
// Java code illustrating ofEntries method import java.util.*; import java.util.Map.Entry; class ImmutableListDemo { public static void main(String args[]) { // empty immutable map Map<Integer, String> immutable = Map.ofEntries(); // non-empty immutable map Map.Entry<Integer, String> entry1 = Map.entry(1, "gfg"); Map.Entry<Integer, String> entry2 = Map.entry(2, "contribute"); Map<Integer, String> immubatleMap = Map.ofEntries(entry1, entry2); } }
Por lo tanto, of() y ofEntries() son métodos utilizados para crear un mapa inmutable en Java 9.
Este artículo es una contribución de Abhishek Verma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA