¿Pueden dos variables referirse a la misma ArrayList en Java?

La clase ArrayList en Java es básicamente una array redimensionable, es decir, puede crecer y reducir su tamaño dinámicamente de acuerdo con los valores que le agreguemos. Está presente en el paquete java.util .

Sintaxis:

ArrayList<E> list = new ArrayList<>();

Una ArrayList en Java se puede instanciar una vez con la ayuda de la palabra clave ‘nueva’ y se puede hacer referencia a ella mediante varios objetos/variables.

La figura anterior muestra cómo el objeto ‘lista’ apunta a ArrayList dentro de la memoria. Ahora veamos cómo podemos hacer que otro objeto apunte al mismo ArrayList que se instancia arriba. 

Sintaxis: Dos variables se refieren a la misma ArrayList:

ArrayList<Integer> secondList = list;

Ahora, cuando se asigna la ‘lista’ a la ‘segunda lista’, la ‘segunda lista’ también comienza a apuntar a la misma ArrayList dentro de la memoria. Observe aquí simplemente cree una nueva instancia. Ahora, para una mejor comprensión, profundicemos en el código y veamos algunos ejemplos.

A continuación se muestra la implementación del enunciado del problema:

Java

// Java program to show how two objects can
// refer to same ArrayList in Java
  
import java.util.ArrayList;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Creating an ArrayList of Integer type in Java
        ArrayList<Integer> list = new ArrayList<>();
  
        // Creating a new ArrayList object and making it
        // refer to the first ArrayList(list)
        ArrayList<Integer> secondList = list;
  
        // Inserting some Integer values to the
        // arrayList using list variable/object
        list.add(17);
        list.add(10);
        list.add(1);
        list.add(33);
        list.add(2);
  
        // ArrayList after insertions : [17, 10, 1, 33, 2]
  
        // Displaying the ArrayList
        System.out.print("ArrayList after insertions: ");
        display(list);
  
        // Modifying the ArrayList using secondList
  
        // Removing element from index 0
        secondList.remove(0);
  
        // Inserting Integer variables
        secondList.add(51);
        secondList.add(99);
  
        // ArrayList after modifications using
        // secondList: [10, 1, 33, 2, 51, 99]
  
        // Displaying the ArrayList
        System.out.print(
            "ArrayList after modifications using secondList: ");
        display(list);
    }
  
    // Function to display an ArrayList
    public static void display(ArrayList<Integer> list)
    {
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println();
    }
}
Producción

ArrayList after insertions: 17 10 1 33 2 
ArrayList after modifications using secondList: 10 1 33 2 51 99

Publicación traducida automáticamente

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