El método unmodifiableCollection () de la clase java.util.Collections se utiliza para devolver una vista no modificable de la colección especificada. Este método permite que los módulos proporcionen a los usuarios acceso de «solo lectura» a las colecciones internas. Las operaciones de consulta en la colección devuelta «leen» a la colección especificada y los intentos de modificar la colección devuelta, ya sea directamente o a través de su iterador, dan como resultado una UnsupportedOperationException.
La colección devuelta no pasa las operaciones hashCode y equals a través de la colección de respaldo, sino que se basa en los métodos equals y hashCode de Object. Esto es necesario para preservar los contratos de estas operaciones en el caso de que la colección de respaldo sea un conjunto o una lista.
La colección devuelta será serializable si la colección especificada es serializable.
Sintaxis:
public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)
Parámetros: este método toma la colección como un parámetro para el que se devolverá una vista no modificable.
Valor devuelto: este método devuelve una vista no modificable de la colección especificada.
A continuación se muestran los ejemplos para ilustrar el método unmodifiableCollection()
Ejemplo 1:
// Java program to demonstrate // unmodifiableCollection() method // for <Character> Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of ArrayList<Character> List<Character> list = new ArrayList<Character>(); // populate the list list.add('X'); list.add('Y'); // printing the list System.out.println("Initial list: " + list); // getting unmodifiable list // using unmodifiableCollection() method Collection<Character> immutablelist = Collections .unmodifiableCollection(list); } catch (UnsupportedOperationException e) { System.out.println("Exception thrown : " + e); } } }
Initial list: [X, Y]
Ejemplo 2: Para UnsupportedOperationException
// Java program to demonstrate // unmodifiableCollection() method // for UnsupportedOperationException import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of ArrayList<Character> List<Character> list = new ArrayList<Character>(); // populate the list list.add('X'); list.add('Y'); // printing the list System.out.println("Initial list: " + list); // getting unmodifiable list // using unmodifiableCollection() method Collection<Character> immutablelist = Collections .unmodifiableCollection(list); // Adding element to new Collection System.out.println("\nTrying to modify" + " the unmodifiableCollection"); immutablelist.add('Z'); } catch (UnsupportedOperationException e) { System.out.println("Exception thrown : " + e); } } }
Initial list: [X, Y] Trying to modify the unmodifiableCollection Exception thrown : java.lang.UnsupportedOperationException
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA