Programación 1º – UD6 – Introducción a las estructuras de almacenamiento

Programación 1º – UD6 – Introducción a las estructuras de almacenamiento

¿Qué son las estructuras de almacenamiento?

Son formas organizadas de guardar y manejar datos. Por ejemplo, si tienes muchos números y quieres saber cuál es el mayor, necesitas un modo de guardarlos para después recorrerlos y compararlos.

Clasificación de las estructuras de almacenamiento:

1. Por tipo de datos almacenados

TipoDescripciónEjemplos
Mismo tipoAlmacenan solo datos del mismo tipo (todos enteros, todos textos, etc.)array, lista, conjunto
Distinto tipoAlmacenan datos de distintos tipos (un número, una cadena, una fecha, etc.)clases, objetos

2. Por tamaño

TipoDescripciónEjemplos
EstáticasEl tamaño se define al principio y no puede cambiararray, matriz
DinámicasEl tamaño puede crecer o disminuir en tiempo de ejecuciónArrayList, LinkedList, HashSet, HashMap

3. Por orden interno

TipoDescripciónEjemplos
No ordenadasNo tienen orden interno; tú decides cómo organizarlasarray, HashSet
OrdenadasSe ordenan automáticamente al insertar datos (por nombre, por número, etc.)algunas versiones de TreeSet, TreeMap

Detalle de las principales estructuras:

🔸 Estáticas: Array

int[] numeros = new int[10]; // Crea un array de 10 enteros
  • Ventajas:
    • Acceso directo con un índice: numeros[3]
    • Eficiente si ya conoces cuántos elementos vas a guardar
  • Desventajas:
    • No puedes cambiar su tamaño una vez creado
    • Si reservas más espacio del necesario, desperdicias memoria

🔸 Dinámicas (cambian de tamaño automáticamente)

Estructura¿Qué hace?Ejemplo
ArrayListLista dinámica como un array, pero flexibleArrayList<String> lista = new ArrayList<>();
LinkedListLista enlazada, buena para insertar/quitar al principio o al finalLinkedList<String> cola = new LinkedList<>();
HashSetGuarda elementos únicos, sin ordenHashSet<String> colores = new HashSet<>();
HashMapGuarda pares clave-valor (como un diccionario)HashMap<String, String> coche = new HashMap<>();