¿Cómo crear una array de objetos en Java?

Requisito previo: diferentes formas de crear objetos en Java

El lenguaje de programación Java tiene que ver con clases y objetos , ya que es un lenguaje de programación orientado a objetos . Cuando requerimos un solo objeto para almacenar en nuestro programa lo hacemos con una variable de tipo Objeto. Pero cuando tratamos con numerosos objetos, es preferible utilizar una array de objetos.

La array de objetos El nombre en sí sugiere que almacena una array de objetos. A diferencia de la array tradicional almacena valores como strings, enteros, booleanos, etc., una array de objetos almacena objetos que significan que los objetos se almacenan como elementos de una array. Tenga en cuenta que cuando decimos array de objetos , no es el objeto en sí el que se almacena en la array, sino la referencia del objeto.

Crear una array de objetos en Java –

Una array de objetos se crea utilizando la clase de objeto , y sabemos que la clase de objeto es la clase raíz de todas las clases.

Usamos Class_Name seguido de un corchete [] y luego el nombre de referencia del objeto para crear una array de objetos.

Class_Name[ ] objectArrayReference;

Alternativamente, también podemos declarar una array de objetos como:

Class_Name objectArrayReference[ ];

Ambas declaraciones anteriores implican que objectArrayReference es una array de objetos.

Por ejemplo, si tiene una clase Student, podemos crear una array de objetos Student como se indica a continuación:

Student[ ] studentObjects;  
Or
Student studentObjects[];

Crea una instancia de la array de objetos:

Sintaxis: 

Class_Name obj[ ]= new Class_Name[Array_Length];

Por ejemplo, si tiene una clase Student y queremos declarar e instanciar una array de objetos Student con dos objetos/referencias de objeto, se escribirá como: 

Student[ ] studentObjects = new Student[2];

Y una vez que se crea una instancia de una array de objetos de esta manera, los elementos individuales de la array de objetos deben crearse utilizando la nueva palabra clave.

La siguiente figura muestra la estructura de un Array of Objects:

Inicializando array de objetos 

Una vez que se crea una instancia de la array de objetos, debemos inicializarla con valores. No podemos inicializar la array de la forma en que inicializamos con tipos primitivos, ya que es diferente de una array de tipos primitivos. En una array de objetos, tenemos que inicializar cada elemento de la array, es decir, cada objeto/referencia de objeto debe inicializarse.

Diferentes formas de inicializar la array de objetos:

  1. Usando los constructores
  2. Usando un método de miembro separado

1. Usando el constructor:

Al momento de crear objetos reales, podemos asignar valores iniciales a cada uno de los objetos pasando valores al constructor por separado. Los objetos reales individuales se crean con sus valores distintos.

El siguiente programa muestra cómo se inicializa la array de objetos usando el constructor. 

Java

// Java program to demonstrate initializing
// an array of objects using constructor
  
class GFG {
  
    public static void main(String args[])
    {
  
        // Declaring an array of student
        Student[] arr;
  
        // Allocating memory for 2 objects
        // of type student
        arr = new Student[2];
  
        // Initializing the first element
        // of the array
        arr[0] = new Student(1701289270, "Satyabrata");
  
        // Initializing the second element
        // of the array
        arr[1] = new Student(1701289219, "Omm Prasad");
  
        // Displaying the student data
        System.out.println(
            "Student data in student arr 0: ");
        arr[0].display();
  
        System.out.println(
            "Student data in student arr 1: ");
        arr[1].display();
    }
}
  
// Creating a student class with
// id and name as a attributes
class Student {
  
    public int id;
    public String name;
  
    // Student class constructor
    Student(int id, String name)
    {
        this.id = id;
        this.name = name;
    }
  
    // display() method to display
    // the student data
    public void display()
    {
        System.out.println("Student id is: " + id + " "
                           + "and Student name is: "
                           + name);
        System.out.println();
    }
}
Producción

Student data in student arr 0: 
Student id is: 1701289270 and Student name is: Satyabrata

Student data in student arr 1: 
Student id is: 1701289219 and Student name is: Omm Prasad

2. Mediante el uso de un método de miembro separado:

Al usar un método de miembro separado también podemos inicializar objetos. Se crea una función miembro de la clase respectiva y se utiliza para asignar los valores iniciales a los objetos.

El siguiente programa muestra cómo se inicializa la array de objetos usando un método de miembro separado.

Java

// Java program to demonstrate initializing
// an array of objects using a method
  
class GFG {
  
    public static void main(String args[])
    {
  
        // Declaring an array of student
        Student[] arr;
  
        // Allocating memory for 2 objects
        // of type student
        arr = new Student[2];
  
        // Creating actual student objects
        arr[0] = new Student();
        arr[1] = new Student();
  
        // Assigning data to student objects
        arr[0].setData(1701289270, "Satyabrata");
        arr[1].setData(1701289219, "Omm Prasad");
  
        // Displaying the student data
        System.out.println(
            "Student data in student arr 0: ");
        arr[0].display();
  
        System.out.println(
            "Student data in student arr 1: ");
        arr[1].display();
    }
}
  
// Creating a Student clas with
// id and name as a attributes
class Student {
  
    public int id;
    public String name;
  
    // Method to set the data to
    // student objects
    public void setData(int id, String name)
    {
        this.id = id;
        this.name = name;
    }
  
    // display() method to display
    // the student data
    public void display()
    {
        System.out.println("Student id is: " + id + " "
                           + "and Student name is: "
                           + name);
        System.out.println();
    }
}
Producción

Student data in student arr 0: 
Student id is: 1701289270 and Student name is: Satyabrata

Student data in student arr 1: 
Student id is: 1701289219 and Student name is: Omm Prasad

Veamos otro ejemplo donde se declara una array de objetos con valores iniciales:

Aquí, la declaración de una array de objetos se realiza agregando valores iniciales.

Java

// Java program to demonstrate an array
// of objects is declared with initial values.
  
class GFG {
  
    public static void main(String args[])
    {
        // Creating an array of objects
        // declared with initial values
        Object[] javaObjectArray
            = { "Maruti", new Integer(2019), "Suzuki",
                new Integer(2019) };
  
      // Printing the values
        System.out.println(javaObjectArray[0]);
        System.out.println(javaObjectArray[1]);
        System.out.println(javaObjectArray[2]);
        System.out.println(javaObjectArray[3]);
    }
}

Producción

Maruti
2019
Suzuki
2019

Publicación traducida automáticamente

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