Colecciones método unmodifiableCollection() en Java con ejemplos

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);
        }
    }
}
Producción:

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);
        }
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *