in

Matriz dinámica en Java – Javatpoint

dynamic array in java

Una matriz es un tamaño fijo, homogéneo estructura de datos. La limitación de las matrices es que tienen un tamaño fijo. Significa que debemos especificar el número de elementos al declarar la matriz. Aquí surge la pregunta de que ¿qué pasa si queremos insertar un elemento y no queda más espacio para el nuevo elemento? Aquí, el concepto de matriz dinámica entra en existencia. Gasta el tamaño de la matriz de forma dinámica.

En esta sección, entenderemos qué es una matriz dinámica, características de la matriz dinámica, cómo cambiar el tamaño de una matriz dinámica, y cómo implementar una matriz dinámica en Java.

¿Qué es una matriz dinámica?

La matriz dinámica es una tamaño variable lista de estructura de datos. Crece automáticamente cuando intentamos insertar un elemento si no queda más espacio para el nuevo elemento. Nos permite agregar y eliminar elementos. Asigna memoria en tiempo de ejecución utilizando el montón. Puede cambiar su tamaño durante el tiempo de ejecución.

En Java, Lista de arreglo es una implementación de tamaño variable. Implementa la interfaz List y proporciona todos los métodos relacionados con las operaciones de la lista. La fuerza de la matriz dinámica es:

  • Búsqueda rápida
  • Tamaño variable
  • Compatible con caché

Trabajo de Dynamic Array

En la matriz dinámica, los elementos se almacenan de forma contigua desde el inicio de la matriz y el espacio restante permanece sin usar. Podemos agregar los elementos hasta que el espaciado reservado se consuma por completo. Cuando se consume el espacio reservado y se requiere agregar algunos elementos. En tal caso, es necesario aumentar el tamaño de la matriz de tamaño fijo. Tenga en cuenta que antes de agregar el elemento, asignamos una matriz más grande, copiamos los elementos de la matriz y devolvemos la matriz recién creada.

Otra forma de agregar un elemento es que, primero, cree una función que cree una nueva matriz de tamaño doble, copie todos los elementos de la matriz anterior y devuelva la nueva matriz. Del mismo modo, también podemos reducir el tamaño de la matriz dinámica.

Tamaño frente a capacidad

La inicialización de una matriz dinámica crea una matriz de tamaño fijo. En la siguiente figura, la implementación de la matriz tiene 10 índices. Hemos agregado cinco elementos a la matriz. Ahora, la matriz subyacente tiene una longitud de cinco. Por lo tanto, la longitud del tamaño de la matriz dinámica es 5 y su capacidad es 10. La matriz dinámica realiza un seguimiento del punto final.

Matriz dinámica en Java

Características de Dynamic Array

En Java, la matriz dinámica tiene tres características clave: Agregue un elemento, elimine un elemento y cambie el tamaño de una matriz.

Agregar elemento en una matriz dinámica

En la matriz dinámica, podemos crear una matriz de tamaño fijo si es necesario agregar algunos elementos más en la matriz. Por lo general, crea una nueva matriz de tamaño doble. Después de eso, copia todos los elementos a la matriz recién creada. Usamos el siguiente enfoque:

Matriz dinámica en Java

Eliminar un elemento de una matriz dinámica

Si queremos eliminar un elemento de la matriz en el índice especificado, usamos el removeAt (i) método. El método analiza el número de índice de ese elemento que queremos eliminar. Después de eliminar el elemento, desplaza los elementos restantes (elementos que están a la derecha del elemento eliminado) a la izquierda del número de índice especificado. También usamos el método remove () que elimina un elemento del final de la matriz. Después de cambiar los elementos, almacena 0 en el palacio del último elemento. Entendamos a través de un ejemplo, como hemos mostrado en la siguiente figura.

Matriz dinámica en Java

Cambiar el tamaño de una matriz dinámica en Java

Necesitamos cambiar el tamaño de una matriz en dos escenarios si:

  • La matriz utiliza más memoria de la necesaria.
  • La matriz ocupa toda la memoria y necesitamos agregar elementos.

En el primer caso, usamos el srinkSize () método para cambiar el tamaño de la matriz. Reduce el tamaño de la matriz. Libera la memoria extra o no utilizada. En el segundo caso, usamos el growSize () método para cambiar el tamaño de la matriz. Aumenta el tamaño de la matriz.

Es una operación costosa porque requiere una matriz más grande y copia todos los elementos de la matriz anterior y luego devuelve la nueva matriz.

Matriz dinámica en Java

Supongamos que en la matriz anterior, se requiere agregar seis elementos más y, en la matriz, no queda más memoria para almacenar elementos. En tales casos, hacemos crecer la matriz usando el growSize () método.

Matriz dinámica en Java

Inicializar una matriz dinámica

La inicialización de la matriz dinámica es la misma que la matriz estática. Considere el siguiente programa Java que inicializa una matriz dinámica.

InitializeDynamicArray.java

Producción:

Elements of Array are: 34 90 12 22 9 27

Implementemos las operaciones en un programa Java que hemos discutido anteriormente.

DynamicArrayExample1.java

Producción:

Matriz dinámica en Java

Reduzcamos la matriz, eliminemos el último elemento y un elemento especificado de la matriz.

DynamicArrayExample2.java

Producción:

Matriz dinámica en Java


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

07swMu2UfuEsefx3rh9GqaK 1.1629820698.fit lim.size 1200x630

Revisión de Rackspace Email Plus | PCMag

03dJFWlOcyZ5OBYCC9OLp27 1.1634069561.fit lim.size 1200x630

Revisión de Motorola Moto Edge (2021)