Iterar sobre una colección no modificable en Java

La Colección es un marco que proporciona una arquitectura para almacenar y manipular el grupo de objetos. En Colecciones de Java , realizamos operaciones como buscar, clasificar, iterar sobre el conjunto de elementos dado.

Modificable: Modificable significa que podemos realizar operaciones como agregar, eliminar, actualizar elementos en las estructuras de datos de la colección.

Ejemplo: Java List proporciona métodos de modificación que incluyen, el método add() para agregar los elementos en una lista, el método replaceall() para cambiar los elementos en una lista.

No modificable: no modificable significa que no podemos agregar, eliminar o actualizar elementos en las estructuras de datos de la colección.

Ejemplo: podemos inicializar la clase modificable antes que cualquier estructura de datos para que podamos evitar que actualice cualquier elemento en la estructura de datos dada. Podemos crear una vista no modificable de una colección usando Collections.unmodifiableCollection(colección)

Declaración

public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

Sintaxis:

Colecciones.unmodifiableCollection(colección)

Parámetros: colección

Valor de retorno: vista no modificable

Ejemplo 1:

Java

// Java program to Iterate Over Unmodifiable Collection
  
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
  
public class GFG {
  
    public static void main(String args[])
    {
        // create a list
        List<String> list = new ArrayList<String>();
  
        // add elements
        list.add("welcome");
        list.add("to");
        list.add("geeks for geeks");
        list.add("This");
        list.add("is");
        list.add("Unmodifiable Collection");
  
        System.out.println("Element are added to the list: "
                           + list.get(2));
  
        // create a immutable view of the list
        Collection<String> immutableCol
            = Collections.unmodifiableCollection(list);
  
        // iterator on the immutable list
        Iterator<String> iterator = immutableCol.iterator();
  
        // print the immutable list
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}
Producción

Element are added to the list: geeks for geeks
welcome
to
geeks for geeks
This
is
Unmodifiable Collection

Ejemplo 2:

Java

// Java program to Iterate Over Unmodifiable Collection 
  
import java.util.*;
  
public class GFG {
    
    public static void main(String args[])
    {
          // create a vector
        Vector<String> v = new Vector<String>();
        
          // add elements
        v.add("welcome");
        v.add("to");
        v.add("geeks for geeks");
        
          // create a immutable vector
        Collection<String> immutableCol
            = Collections.unmodifiableCollection(v);
        
          // iterate and print elements
        Iterator<String> iterator = immutableCol.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}
Producción

welcome
to
geeks for geeks

Ejemplo 3: excepción de operación no admitida

Java

// 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>
            ArrayList<String> list = new ArrayList<>();
  
            // populate the list
            list.add("Geeks");
            list.add("for");
  
            // printing the list
            System.out.println("Initial list: " + list);
  
            // getting unmodifiable list
            // using unmodifiableCollection() method
            Collection<String> immutablelist
                = Collections.unmodifiableCollection(list);
  
            // Adding element to new Collection
            System.out.println(
                "\nTrying to modify"
                + " the unmodifiableCollection");
  
            immutablelist.add("Geeks");
        }
  
        catch (UnsupportedOperationException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}

Producción

Initial list: [Geeks, for]
Trying to modify the unmodifiableCollection
Exception thrown : java.lang.UnsupportedOperationException

Publicación traducida automáticamente

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