Una estructura de datos dinámica es una forma de organizar y almacenar datos en la memoria de un programa de computadora que puede crecer o disminuir de tamaño durante la ejecución del programa. Esto significa que los elementos de la estructura de datos dinámica no tienen que estar preasignados en la memoria en tiempo de compilación, sino que pueden ser asignados y liberados dinámicamente durante la ejecución del programa.
Las estructuras de datos dinámicas permiten agregar y eliminar elementos de manera eficiente, lo que las hace muy útiles para problemas en los que el número de elementos a almacenar puede cambiar durante la ejecución del programa. Ejemplos comunes de estructuras de datos dinámicas incluyen listas enlazadas, pilas, colas y árboles binarios. Algunos lenguajes de programación proporcionan bibliotecas de estructuras de datos dinámicas incorporadas, mientras que otros requieren que el programador implemente estas estructuras manualmente.
En Java existen diversas clases para implementar estas estructuras dinámicas. Estás son las más generales
List, ArrayList, LinkedListStackQueueTreeMapHashMapHashMap<aside> 💡 A las posiciones en una matriz o vector se le llama índice.
</aside>
<aside> 💡 De las mejores formas de implementar una estructura dinámica es usar el comando ArrayList
</aside>

Ejemplo de la imagen
ArrayList lista = new ArrayList();
//Se crea una lista
lista.add(-1);
lista.add(45.00);
lista.add("si");
lista.add('0');
System.out.println(lista);
//Se imprime la lista

Para recuperar un elemento de la listase utiliza el método get(posicion)
<aside> 💡 Solo se recuperara la posición
</aside>
