CodeGym
Promoción
CodeGym University
Aprendizaje
Cursos
Tareas
Encuestas & Cuestionarios
Juegos
Ayuda
Horario
Comunidad
Usuarios
Foro
Chat
Artículos
Historias de éxito
Actividad
Reseñas
Suscripciones
Tema claro

Lecciones

  • Reseñas
  • Sobre nosotros
Comenzar
Comenzar a aprender
Comienza a aprender ahora
  • Mi progreso
  • Cursos
  • Universidad
  • Mapa de misiones
  • Lecciones
  • Set: HashSet y TreeSet, unicidad de elementos

    JAVA 25 SELF
    Nivel 26,Lección 3
    En esta lección analizamos la interfaz Set en Java: en qué se diferencia de List, cómo se garantiza la unicidad de los elementos, cómo funcionan las implementaciones HashSet (rápida, sin orden) y TreeSet (ordenada), y cuándo elegir una u otra estructura. Veremos matices importantes sobre equals() y hashCode(), el trabajo con null, ejemplos de tareas típicas (eliminación de duplicados, comprobación de unicidad) y errores frecuentes.
    Disponible
  • Genéricos: para qué sirven y sintaxis básica

    JAVA 25 SELF
    Nivel 26,Lección 4
    Pasamos de las colecciones «crudas» a código con seguridad de tipos. En la lección vemos por qué, antes de la aparición de los genéricos, las colecciones basadas en Object llevaban a errores en tiempo de ejecución ( ClassCastException), cómo los genéricos lo resuelven en tiempo de compilación, cómo leer y escribir construcciones como List<String>, Map<String, Integer>, qué es el «operador diamante» <> y para qué sirve el borrado de tipos (type erasure). Además, ejemplos con clases genéricas propias y análisis de errores típicos.
    Disponible
  • Interfaces Collection, List, Set, Map: jerarquía

    JAVA 25 SELF
    Nivel 27,Lección 0
    Analizamos la base de las colecciones de Java: la interfaz Collection y sus ramas List, Set, Queue/ Deque, así como la jerarquía aparte de Map. Aprenderás por qué Map no hereda de Collection, cómo luce la jerarquía, en qué se diferencian las implementaciones, qué métodos son clave y cuándo elegir cada una. Al final — errores típicos y cómo evitarlos.
    Disponible
  • Iterable e Iterator: recorrido de colecciones

    JAVA 25 SELF
    Nivel 27,Lección 1
    En la lección vemos cómo trabajar con las interfaces Iterable e Iterator: qué hace el método iterator(), cómo funciona entre bastidores el bucle for-each, cuándo y para qué utilizar manualmente hasNext() y next(), cómo eliminar elementos de forma segura mediante remove() sin ConcurrentModificationException, y también cómo recorrer correctamente Map con keySet(), values() y entrySet(). Muchos ejemplos prácticos y errores frecuentes para afianzar los conceptos.
    Disponible
  • Queue, Deque, Stack: trabajo con colas y pilas

    JAVA 25 SELF
    Nivel 27,Lección 2
    En esta lección analizamos colas y pilas en Java: cómo funcionan los principios FIFO y LIFO, en qué se diferencian Queue, Deque y Stack, por qué en proyectos modernos conviene elegir ArrayDeque, y cómo usar de forma segura los métodos offer/ poll/ peek y push/ pop/ peek. Mostraremos ejemplos con LinkedList, PriorityQueue, miniaplicaciones de impresión y de pila de deshacer (undo), y también abordaremos errores típicos.
    Disponible
  • NavigableSet/NavigableMap

    JAVA 25 SELF
    Nivel 27,Lección 3
    En esta lección abordamos las colecciones ordenadas y navegables de Java: NavigableSet y NavigableMap. En la práctica veremos cómo trabajar con rangos mediante subSet/ headSet/ tailSet, buscar «elementos más cercanos» con lower, floor, ceiling, higher y gestionar los extremos con pollFirst/ pollLast. Analizaremos las representaciones inversas descendingSet/ descendingMap, las vistas «vivas» (view) y casos típicos (horarios, prioridades, escalas). Como implementaciones usaremos TreeSet y TreeMap.
    Disponible
  • Generics wildcards

    JAVA 25 SELF
    Nivel 27,Lección 4
    En esta lección analizamos la invariancia de los genéricos en Java, los límites de los parámetros de tipo ( extends/ super), los tipos comodín ? y la regla PECS («Producer Extends, Consumer Super»). Veremos cómo escribir métodos universales con comodines (wildcards), cómo funciona el borrado de tipos (type erasure), las limitaciones al usar instanceof y los arrays, así como práctica con colecciones y la Stream API. Al final — errores frecuentes y cómo evitarlos.
    Disponible
  • Filtrado de elementos de colecciones

    JAVA 25 SELF
    Nivel 28,Lección 0
    En esta lección abordamos la práctica del filtrado de colecciones en Java: enfoque imperativo mediante el bucle for, eliminación segura durante la iteración con Iterator y el método remove(), así como la solución moderna y concisa removeIf (Java 8+). Hablaremos de por qué aparece ConcurrentModificationException, cuándo conviene crear una lista nueva y cuáles son los errores típicos que se encuentran con más frecuencia al formular las condiciones de filtrado.
    Disponible
  • Transformación de colecciones

    JAVA 25 SELF
    Nivel 28,Lección 1
    En esta lección analizamos cómo realizar la transformación de colecciones de forma imperativa: a partir de List<String> obtener List<Integer> (por ejemplo, las longitudes de las cadenas), cómo extraer campos de objetos del modelo de dominio ( Product → nombre/precio), cómo «aplanar» colecciones anidadas mediante addAll() o bucles anidados, así como cómo combinar filtrado con transformación usando if y métodos como startsWith. Al final veremos errores típicos: modificar la colección de origen, conversiones de tipo incorrectas ( ClassCastException) y cuestiones de eficiencia.
    Disponible
  • Eliminación segura de elementos

    JAVA 25 SELF
    Nivel 28,Lección 2
    En la práctica, eliminar elementos de colecciones a menudo conduce a ConcurrentModificationException. En la lección veremos por qué ocurre al iterar con for-each, cómo eliminar de forma segura con Iterator.remove(), para qué sirve ListIterator, cuándo elegir removeIf (Java 8+) y cómo trabajar correctamente con Map. Al final — consejos prácticos y errores típicos.
    Disponible
  • EnumSet/EnumMap

    JAVA 25 SELF
    Nivel 28,Lección 3
    En esta lección analizamos las colecciones especializadas para enumeraciones — EnumSet y EnumMap del paquete java.util: cómo están implementadas por dentro (máscaras de bits e indexación por ordinal), por qué son más rápidas y compactas que HashSet/ HashMap, dónde usarlas (flags, tablas de correspondencias, autómatas finitos), qué trampas conlleva cambiar el enum y la serialización, y además un conjunto de buenas prácticas y errores típicos con ejemplos de código ilustrativos.
    Disponible
  • LinkedHashSet/LinkedHashMap

    JAVA 25 SELF
    Nivel 28,Lección 4
    En esta lección analizamos las colecciones que recuerdan el orden: LinkedHashSet y LinkedHashMap. Aprenderás cómo mantienen el orden de inserción y el de acceso, cómo construir un caché LRU en un par de líneas sobrescribiendo removeEldestEntry, cuáles son los costes de memoria y rendimiento en comparación con HashSet/ HashMap, cuándo se necesita un orden determinista para pruebas e informes estables, y por qué para colas/pilas suele ser mejor ArrayDeque que LinkedList. Al final — errores típicos y cómo evitarlos.
    Disponible
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 30
Aprender
  • Registro
  • Curso de Java
  • Ayuda con tareas
  • Precios
  • Sintaxis de Java
Comunidad
  • Usuarios
  • Artículos
  • Foro
  • Chat
  • Historias de éxito
  • Actividad
  • Programa de afiliados
Empresa
  • Acerca de nosotros
  • Contactos
  • Reseñas
  • Sala de prensa
  • CodeGym para EDU
  • Preguntas frecuentes
  • Soporte
CodeGymCodeGym es un curso en línea para aprender programación Java desde cero. Este curso es una forma perfecta de dominar Java para principiantes. Contiene más de 1.200 tareas con verificación instantánea y un conjunto esencial de teoría sobre los fundamentos de Java. Para ayudarte a tener éxito en la formación, hemos implementado una serie de funciones motivacionales: cuestionarios, proyectos de programación, contenido sobre aprendizaje eficiente y contenidos sobre la carrera profesional de un desarrollador Java.
Síguenos
Idioma de la interfaz
English Deutsch
Español
हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Los programadores se hacen, no nacen" © 2026 CodeGym
MastercardVisa
"Los programadores se hacen, no nacen" © 2026 CodeGym