Saltar la navegación

Colecciones de Datos.

Caso práctico

Fotografía de María.
Ministerio de Educación y FP (CC BY-NC)

Ana sigue con la pequeña aplicación de procesamiento de pedidos que le pidió se jefa María.

En este caso, después de comprobar que el pedido tiene el formato correcto, algo que pensó hacer con expresiones regulares, llega el momento de almacenar en alguna estructura en memoria principal, si es posible de forma ordenada.

Ana ya conoce los arrays, como estructura de almacenamiento de datos en memoria pero ha llegado a la conclusión de que tienen ciertas limitaciones, sobre todolai imposibilidad de crecer en tiempo de ejecución y de mantener la estructura ordenada. Por otro lado, es bastante compleja la eliminación de elementos.

- Había pensado en utilizar arrays, es la única estructura de datos que conozco, pero hay limitaciones que no sé como solventar - comentó Ana. ¿Existirá alguna estructura de datos que no presente este tipo de limitaciones?-

- Si Ana, al igual que en otros lenguajes de programación, en Java se pueden utilizar estructuras de datos dinámicas. Pueden crecer en tiempo de ejecución tanto que posibilidades tenga la memoria y además Java proporciona una serie de API para su manejo con mucha funcionalidad - le sugirió María.

- ¡Pues estoy deseando conocer esa API! -dijo Ana.

Vamos a ello, te sorprenderás de la cantidad de funcionalidad que está a disposición de los programadores.

magen de las manos de una persona insertando datos en el ordenador a través del teclado.
ITE. Óscar Javier Estupiñán Estupiñán. id=133827 (CC BY-NC)

Como ya estudiamos en una unidad anterior, cuando el volumen de datos a manejar por una aplicación es elevado, no basta con utilizar variables. Manejar los datos de un único pedido en una aplicación puede ser relativamente sencillo, pues un pedido está compuesto por una serie de datos y eso simplemente se traduce en varias variables. Pero, ¿qué ocurre cuando en una aplicación tenemos que gestionar varios pedidos a la vez?. ¿De qué herramientas disponemos cuando necesitamos almacenar muchos datos, tanto simples como compuestos?. La solución propuesta hasta el momento pasa por utilizar estructuras de datos definidas por el usuario, tal y como vimos en la unidad 6. Además, el programador debe desarrollar también los algoritmos que procesen esas estructuras de datos.

La mayoría de lenguajes de programación proporcionan dentro de su API conjuntos de clases e interfaces que liberan al programador de la necesidad de definir diferentes tipos de datos compuestos, como pueden ser listas, conjuntos, etc. En el caso de Java tenemos el Framework Collection. Lo estudiaremos en profundidad a lo largo de esta unidad.