Las estructuras de datos nos han estado rodeando desde la era de la programación estructurada. Una definición de esa era: una estructura de datos es un conjunto de tipos, un tipo diseñado partiendo de ese conjunto de tipos, un conjunto de funciones, y un conjunto de axiomas. Esta definición implica que una estructura de datos es un tipo con implementación. En nuestra era de la programación orientads a objetos, tipo con implementación significa clase.
La definición "una estructura de datos es una clase" es demasiado amplia porque supone que Empleado, Vehículo, Cuenta, y otras muchas clases específicas de entidades del mundo real son estructuras de datos. Aunque esas clases estructuran varios ítems de datos, describen entidades del munto real (en la forma de objetos) en lugar de describir contenedores de objetos para otras entidades objetos (y posiblemente otro contenedor). Esta idea de contenido da una definición más apropiada para una estructura de datos: una estructura de datos es una clase contenedora que proporciona almacenamiento para ítems de datos, y capacidades para almacenar y recuperar estos datos. Algunos ejemplos de estructuras de datos son los arreglos, las listas enlazadas, las pilas y las colas.
La definición "una estructura de datos es una clase" es demasiado amplia porque supone que Empleado, Vehículo, Cuenta, y otras muchas clases específicas de entidades del mundo real son estructuras de datos. Aunque esas clases estructuran varios ítems de datos, describen entidades del munto real (en la forma de objetos) en lugar de describir contenedores de objetos para otras entidades objetos (y posiblemente otro contenedor). Esta idea de contenido da una definición más apropiada para una estructura de datos: una estructura de datos es una clase contenedora que proporciona almacenamiento para ítems de datos, y capacidades para almacenar y recuperar estos datos. Algunos ejemplos de estructuras de datos son los arreglos, las listas enlazadas, las pilas y las colas.