Agregar elementos a una matriz y un ArrayList

JavaBeginner
Practicar Ahora

Introducción

Una matriz es una colección de tipos de datos similares en Java con un tamaño fijo, mientras que un ArrayList es una colección dinámica de tipos de datos similares. Esta práctica te mostrará cómo agregar elementos a una matriz y a un ArrayList.

Anexar elementos a una matriz

Para agregar elementos a una matriz, debes seguir los pasos siguientes:

  • Crear una matriz de mayor tamaño
  • Copiar los elementos de la matriz antigua a la nueva matriz utilizando un bucle
  • Agregar el nuevo elemento al final de la nueva matriz

A continuación, se muestra el código para agregar elementos a una matriz:

~/proyecto/ArrayAppend.java

import java.util.Arrays;

public class ArrayAppend {
   public static int[] appendToArray(int[] oldArr, int elementToAdd) {
      int[] newArr = Arrays.copyOf(oldArr, oldArr.length + 1);
      newArr[newArr.length - 1] = elementToAdd;
      return newArr;
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Matriz inicial: " + Arrays.toString(arr));
      arr = appendToArray(arr, 6);
      arr = appendToArray(arr, 7);
      arr = appendToArray(arr, 8);
      System.out.println("Después de agregar elementos: " + Arrays.toString(arr));
   }
}

Para ejecutar el código, abre la terminal en la carpeta del proyecto y luego compila y ejecuta el código con los siguientes comandos:

javac ArrayAppend.java
java ArrayAppend

Después de ejecutar el código, obtendrás la siguiente salida:

Matriz inicial: [1, 2, 3, 4, 5]
Después de agregar elementos: [1, 2, 3, 4, 5, 6, 7, 8]

Anexar elementos a un ArrayList

Para agregar elementos a un ArrayList, debes seguir los pasos siguientes:

  • Crear un ArrayList
  • Utilizar el método add() para agregar elementos al ArrayList

A continuación, se muestra el código para agregar elementos a un ArrayList:

~/proyecto/ArrayListAppend.java

import java.util.ArrayList;

public class ArrayListAppend {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("ArrayList inicial: " + arrList);
      arrList.add(4);
      arrList.add(5);
      System.out.print("Después de agregar elementos: " + arrList);
   }
}

Para ejecutar el código, abre la terminal en la carpeta del proyecto y luego compila y ejecuta el código con los siguientes comandos:

javac ArrayListAppend.java
java ArrayListAppend

Después de ejecutar el código, obtendrás la siguiente salida:

ArrayList inicial: [1, 2, 3]
Después de agregar elementos: [1, 2, 3, 4, 5]

Insertar elementos en una matriz

Para insertar elementos en una matriz, debes seguir los pasos siguientes:

  • Crear una matriz de mayor tamaño
  • Desplazar los elementos de la matriz antigua hacia la derecha en la nueva matriz hasta que se inserte el nuevo elemento
  • Si el índice está fuera de rango, lanzar una excepción IndexOutOfBoundsException

A continuación, se muestra el código para insertar elementos en una matriz:

~/proyecto/ArrayInsert.java

import java.util.Arrays;

public class ArrayInsert {
   public static int[] insertAtIndex(int[] arr, int elementToAdd, int index) {
      if (index > arr.length || index < 0) {
         throw new IndexOutOfBoundsException("Índice fuera de rango!");
      } else {
         int[] newArr = new int[arr.length + 1];
         for (int i = 0, j = 0; i < arr.length; i++, j++) {
            if (i == index) {
               newArr[j++] = elementToAdd;
            }
            newArr[j] = arr[i];
         }
         return newArr;
      }
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Matriz inicial: " + Arrays.toString(arr));
      arr = insertAtIndex(arr, 6, 2);
      System.out.println("Después de insertar en el índice 2: " + Arrays.toString(arr));
   }
}

Para ejecutar el código, abre la terminal en la carpeta del proyecto y luego compila y ejecuta el código con los siguientes comandos:

javac ArrayInsert.java
java ArrayInsert

Después de ejecutar el código, obtendrás la siguiente salida:

Matriz inicial: [1, 2, 3, 4, 5]
Después de insertar en el índice 2: [1, 2, 6, 3, 4, 5]

Insertar elementos en un ArrayList

Para insertar elementos en un ArrayList, debes seguir los pasos siguientes:

  • Crear un ArrayList
  • Utilizar el método add() para agregar elementos al ArrayList
  • Utilizar la versión sobrecargada del método add() para insertar elementos en el ArrayList

A continuación, se muestra el código para insertar elementos en un ArrayList:

~/proyecto/ArrayListInsert.java

import java.util.ArrayList;

public class ArrayListInsert {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("ArrayList inicial: " + arrList);
      arrList.add(1, 5);
      arrList.add(3, 6);
      System.out.print("Después de insertar elementos: " + arrList);
   }
}

Para ejecutar el código, abre la terminal en la carpeta del proyecto y luego compila y ejecuta el código con los siguientes comandos:

javac ArrayListInsert.java
java ArrayListInsert

Después de ejecutar el código, obtendrás la siguiente salida:

ArrayList inicial: [1, 2, 3]
Después de insertar elementos: [1, 5, 2, 6, 3]

Resumen

Esta práctica te ha mostrado cómo agregar elementos a una matriz y un ArrayList en Java. Hemos aprendido cómo anexar e insertar elementos a una matriz y un ArrayList. Si bien anexar es fácil, insertar puede ser un poco complejo en el caso de las matrices, pero ArrayList tiene un método de inserción sencillo. Siempre asegúrate de permanecer dentro de los límites de la matriz o ArrayList, de lo contrario, se producirá una excepción IndexOutOfBoundsException.