Introducción¶
Hasta ahora la única forma de gestionar grupos de objetos o datos eran los arrays. Si bien son sencillos de usar, poseen una serie de inconvenientes que no los hacen prácticos en la mayoría de las aplicaciones, siendo estos:
- No se adapta al tamaño del problema. Se ha de conocer el tamaño al crear el array, implica que o se pierde algo de espacio o es posible que se quede pequeño…
- Búsquedas complejas. La búsqueda de un elemento en un vector desordenado es costosa computacionalmente.
- Posibles problemas de memoria. En caso de gran cantidad de objetos a gestionar se ha de reservar memoria contigua, y en ocasiones esto no es sencillo.
- Manejo complejo. La inserción, borrado y obtención de elementos es compleja.
Para solucionar estos problemas se han definido las estructuras de datos dinámicas, también conocidas como tipos de datos abstractos o TAD. En Java gran parte de estas estructuras de datos dinámicas se agrupan en lo que se conoce como Colecciones (Collections
).
