0% encontró este documento útil (0 votos)
37 vistas4 páginas

Estructura de Datos - Java

Cargado por

Jose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas4 páginas

Estructura de Datos - Java

Cargado por

Jose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

En Java, las estructuras de datos son fundamentales para organizar y

manipular información de manera eficiente. Algunas están disponibles en


el propio lenguaje (arrays), y la mayoría provienen de la librería estándar
Java Collections Framework (JCF).

Te hago un repaso completo 👇

🔑 1. Estructura básica: Arrays

 Es una colección fija de elementos del mismo tipo.

 Tienen índice (empieza en 0).

 No se pueden redimensionar después de creados.

int[] numeros = {1, 2, 3, 4, 5};

[Link](numeros[0]); // 1

👉 Son rápidos, pero poco flexibles.

🔑 2. Colecciones (Java Collections Framework)

Java provee interfaces y clases para manejar colecciones de datos


dinámicamente.

📌 2.1. List → Listas ordenadas

 Permiten elementos duplicados.

 Acceso por índice.

 Se pueden modificar.

Implementaciones comunes:

 ArrayList → basado en arrays dinámicos.

 LinkedList → lista doblemente enlazada.

import [Link].*;

List<String> frutas = new ArrayList<>();

[Link]("Manzana");

[Link]("Pera");

[Link]("Uva");
[Link]([Link](1)); // Pera

📌 2.2. Set → Conjuntos

 No permiten elementos duplicados.

 No garantizan orden (salvo ciertas implementaciones).

Implementaciones:

 HashSet → rápido, sin orden.

 LinkedHashSet → mantiene orden de inserción.

 TreeSet → mantiene los elementos ordenados.

Set<Integer> numeros = new HashSet<>();

[Link](10);

[Link](20);

[Link](10);

[Link](numeros); // [20, 10]

📌 2.3. Map → Diccionarios (pares clave-valor)

 Cada clave es única, pero los valores pueden repetirse.

Implementaciones:

 HashMap → rápido, sin orden.

 LinkedHashMap → mantiene orden de inserción.

 TreeMap → ordena las claves.

Map<String, Integer> edades = new HashMap<>();

[Link]("Ana", 25);

[Link]("Luis", 30);

[Link]([Link]("Ana")); // 25

📌 2.4. Queue → Colas

 Siguen el principio FIFO (primero en entrar, primero en salir).

Implementaciones:
 LinkedList (también se usa como cola).

 PriorityQueue → elementos con prioridad.

Queue<String> cola = new LinkedList<>();

[Link]("A");

[Link]("B");

[Link]("C");

[Link]([Link]()); // A

📌 2.5. Stack → Pilas

 Siguen el principio LIFO (último en entrar, primero en salir).

Stack<String> pila = new Stack<>();

[Link]("Libro 1");

[Link]("Libro 2");

[Link]([Link]()); // Libro 2

🔑 3. Estructuras avanzadas

Con librerías externas o implementaciones propias se pueden manejar:

 Grafos → con listas de adyacencia o matrices.

 Árboles → binarios, AVL, B-Trees.

 Tablas Hash personalizadas.

(En proyectos grandes se usan frameworks como Guava de Google o


Apache Commons que amplían las colecciones estándar).

📊 Resumen

Estructu Duplicado Clave-


Orden Ejemplo en Java
ra s valor

Array Sí Sí No int[] arr

List Sí Sí No ArrayList, LinkedList

Set No No No HashSet, TreeSet


Estructu Duplicado Clave-
Orden Ejemplo en Java
ra s valor

(depende)

Claves
Map Por clave Sí HashMap, TreeMap
únicas

LinkedList,
Queue FIFO Sí No
PriorityQueue

Stack LIFO Sí No Stack

👉 ¿Quieres que te arme un ejemplo gráfico comparando cómo


funcionan estas estructuras en memoria (tipo diagrama de arrays,
listas, pilas y colas)?

También podría gustarte