Estructuras de datos internas (memoria)

Caso práctico

Ocultar

Fotografía de María.

Ana ha recibido un pequeño encargo de parte de su tutora, María. Se trata de que realice un pequeño programita, muy sencillo pero fundamental.

Hola Ana, hoy tengo una tarea especial para ti.

¿Sí? Estoy deseando, últimamente no hay nada que se me resista, llevo dos semanas en racha  comenta Ana.

Bueno, quizás esto se te resista un poco más, es fácil, pero tiene cierta complicación. En la aplicación que estás realizando para el cliente, necesitamos poder manejar datos de diferente tipo de una forma ágil y dinámica, manipular algo más que la información de un objeto o instancia concreta de datos... Necesitamos que la aplicación pueda guardar y manejar con facilidad conjuntos más grandes de datos complejos, como los pedidos que recibe, y Java aporta para eso algunas herramientas muy potentes. ¿Has oído hablar de Colecciones, Listas, Conjuntos, Mapas,...?

—Sí que me suena, pero no lo he usado antes... ¿Facilita el trabajo o lo complica? —pregunta Ana.

—¡¡Lo facilita, por supuesto!! No te preocupes, a partir de ahora vas a practicar con todo ello para esta aplicación y vas a entender hasta qué punto simplifica las cosas. Te voy poniendo al día de lo que debes hacer.

Ocultar



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?

Lo mismo ocurre en otros casos. Para poder realizar ciertas aplicaciones se necesita poder manejar datos que van más allá de meros datos simples (números y letras). A veces, los datos que tiene que manejar la aplicación son datos compuestos, es decir, datos que están compuestos a su vez de varios datos más simples. Por ejemplo, un pedido está compuesto por varios datos, que podrían ser el cliente que hace el pedido, la dirección de entrega, la fecha requerida de entrega y los artículos del pedido.

Los datos compuestos son un tipo de estructura de datos, y en realidad ya los has manejado. Las clases son un ejemplo de estructuras de datos que permiten almacenar datos compuestos, y el objeto en sí, la instancia de una clase, sería el dato compuesto. Pero, a veces, los datos tienen estructuras aún más complejas, y son necesarias soluciones adicionales.

Aquí podrás aprender esas soluciones adicionales. Esas soluciones consisten básicamente en la capacidad de poder manejar varios datos del mismo o diferente tipo de forma dinámica y flexible.