¿Puede una ArrayList contener varias referencias al mismo objeto 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 agregamos o eliminamos de ella. Está presente en el paquete java.util .

Discutiremos si un ArrayList puede contener múltiples referencias al mismo objeto en Java.

ArrayList en Java no proporciona las comprobaciones de referencias duplicadas al mismo objeto. Por tanto, podemos insertar el mismo objeto o referencia a un único objeto tantas veces como queramos. Si lo deseamos podemos comprobar si un elemento ya existe en ArrayList o no con la ayuda del método  contains() .

A continuación se muestra la implementación del código de la declaración del problema anterior:

Java

// Java program to demonstrate some functionalities
// of ArrayList
 
import java.util.ArrayList;
 
class Employee{
    private String name;
    private String designation;
 
    // Parameterized constructor for Employee class
    public Employee(String name, String designation) {
        this.name = name;
        this.designation = designation;
    }
 
    // Creating getters for Employee class
    public String getName() {
        return name;
    }
 
    public String getDesignation() {
        return designation;
    }
}
 
public class GFG {
    public static void main(String[] args) {
 
        // Creating Objects of Employee class
        Employee e1 = new Employee("Raj","Manager");
        Employee e2 = new Employee("Simran", "CEO");
        Employee e3 = new Employee("Anish", "CTO");
 
        // Creating an ArrayList of Employee type
        ArrayList<Employee> employeeList= new ArrayList<>();
 
        // Inserting the employee objects in the ArrayList
        employeeList.add(e1);
        employeeList.add(e2);
        employeeList.add(e3);
 
        // e1 will be inserted again as ArrayList can store multiple
        // reference to the same object
        employeeList.add(e1);
 
        // Checking if e2 already exists inside ArrayList
        // if it exists then we don't insert it again
        if(!employeeList.contains(e2))
            employeeList.add(e2);
 
        // ArrayList after insertions: [e1, e2, e3, e1]
 
        // Iterating the ArrayList with the help of Enhanced for loop
        for(Employee employee: employeeList){
            System.out.println(employee.getName() + " is a " + employee.getDesignation());
        }
    }
}
Producción

Raj is a Manager
Simran is a CEO
Anish is a CTO
Raj is a Manager

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 *