El documento presenta una introducción a los Tipos Abstractos de Datos (TAD) en programación Java, explicando su importancia en la abstracción y organización de datos. Se aborda la diferencia entre datos, tipos de datos y TAD, así como su estructura y la implementación tanto en especificaciones informales como formales. Además, se discuten ejemplos comunes de TAD, como listas, pilas y árboles, y se proporciona una guía sobre cómo implementar un TAD en Java.