Cómo hacer un ArrayList de solo lectura en Java

Dada una ArrayList, la tarea es hacer que esta ArrayList sea de solo lectura en Java.

Ejemplos:

Input: ArrayList: [1, 2, 3, 4, 5]
Output: Read-only ArrayList: [1, 2, 3, 4, 5] 

Input: ArrayList: [geeks, for, geeks]
Output: Read-only ArrayList: [geeks, for, geeks]

Una ArrayList se puede hacer de solo lectura fácilmente con la ayuda del método Collections.unmodifiableList(). Este método toma el ArrayList modificable como parámetro y devuelve la vista no modificable de solo lectura de este ArrayList.

Sintaxis:

readOnlyArrayList = Collections.unmodifiableList(ArrayList);

A continuación se muestra la implementación del enfoque anterior:

// Java program to demonstrate
// unmodifiableList() method
  
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');
            list.add('Z');
  
            // printing the list
            System.out.println("Initial list: "
                               + list);
  
            // getting readonly list
            // using unmodifiableList() method
            List<Character>
                immutablelist = Collections
                                    .unmodifiableList(list);
  
            // printing the list
            System.out.println("ReadOnly ArrayList: "
                               + immutablelist);
  
            // Adding element to new Collection
            System.out.println("\nTrying to modify"
                               + " the ReadOnly ArrayList.");
            immutablelist.add('A');
        }
  
        catch (UnsupportedOperationException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Initial list: [X, Y, Z]
ReadOnly ArrayList: [X, Y, Z]

Trying to modify the ReadOnly ArrayList.
Exception thrown : java.lang.UnsupportedOperationException

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu 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 *