CodeGym
AI Academy
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
  • Collector y Spliterator personalizados

    JAVA 25 SELF
    Nivel 33,Lección 4
    En la lección vemos cómo escribir colectores personalizados para la Stream API mediante Collector y cuándo realmente está justificado, así como cómo implementar tu propio Spliterator para un recorrido de datos secuencial y paralelo eficiente. Revisaremos paso a paso los componentes del collector ( supplier, accumulator, combiner, finisher, characteristics), ejemplos para multimapas y top N, estrategias trySplit, así como la configuración correcta de las características ( ORDERED, SIZED, SUBSIZED y otros).
    Disponible
  • List.of, Set.of, Map.of — colecciones inmutables

    JAVA 25 SELF
    Nivel 34,Lección 0
    En la lección analizamos las colecciones inmutables en Java 9+: los métodos de fábrica List.of, Set.of, Map.of y Map.ofEntries. Las compararemos con los envoltorios Collections.unmodifiableList, comentaremos sus limitaciones (prohibición de cambios, prohibición de null, prohibición de duplicados para conjuntos y las claves del mapa), el orden de los elementos y el rendimiento. Veremos el límite de 10 pares para Map.of y las excepciones típicas: UnsupportedOperationException, NullPointerException, IllegalArgumentException. Además, ejemplos prácticos de cuándo estas colecciones simplifican el diseño y mejoran la seguridad de lectura en múltiples hilos.
    Disponible
  • Map.copyOf, Set.copyOf y otras utilidades

    JAVA 25 SELF
    Nivel 34,Lección 1
    En esta lección analizamos las copias inmutables de colecciones aparecidas en Java 10: List.copyOf, Set.copyOf y Map.copyOf. Aprenderás en qué se diferencian de los envoltorios Collections.unmodifiable*, qué limitaciones aplican (prohibición de null, inmutabilidad), cuándo se devuelve el mismo objeto y por qué no debes confiar en una implementación concreta. Se muestran escenarios prácticos de uso y errores típicos, incluida la confusión con Map.of y Map.ofEntries.
    Disponible
  • Colecciones CopyOnWrite, envoltorios inmodificables

    JAVA 25 SELF
    Nivel 34,Lección 2
    En esta lección abordamos dos enfoques para la «protección» de colecciones: los envoltorios inmodificables de Collections.unmodifiable* y los métodos de fábrica List.of/ Set.of/ Map.of, así como las estructuras seguras para hilos CopyOnWriteArrayList y CopyOnWriteArraySet del paquete java.util.concurrent. Entenderemos en qué se diferencia un envoltorio de la verdadera inmutabilidad, dónde resultan útiles las estructuras CopyOnWrite y qué errores típicos aparecen en la práctica.
    Disponible
  • Colecciones mutables vs inmutables: diferencias y uso

    JAVA 25 SELF
    Nivel 34,Lección 3
    En esta lección analizamos las diferencias entre colecciones mutables e inmutables en Java: cuándo elegir ArrayList/ HashSet y cuándo — las colecciones de fábrica de Java 9+ ( List.of, Set.of, Map.of) y las copias mediante copyOf. Hablaremos de seguridad, seguridad en hilos, facilidad de depuración, escollos de los envoltorios Collections.unmodifiableList y ejemplos prácticos de uso, así como errores típicos y cómo evitarlos.
    Disponible
  • Colecciones nuevas: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    Nivel 34,Lección 4
    En Java 21 aparecieron interfaces de colecciones ordenadas — SequencedCollection, SequencedSet y SequencedMap. Añaden un contrato unificado para trabajar con el orden de los elementos: acceso rápido al primer/último elemento e inversión de la colección mediante reversed(). En la lección veremos qué colecciones estándar ya los implementan, qué métodos han aparecido, cómo aplicarlo en código real, así como errores típicos y matices de uso.
    Disponible
  • Fundamentos de java.io y java.nio: diferencias y evolución de la API

    JAVA 25 SELF
    Nivel 35,Lección 0
    Esta lección — una guía breve sobre la evolución de la E/S de archivos en Java: desde el paquete «clásico» java.io con las clases File, los flujos FileInputStream/ FileOutputStream y los de caracteres Reader/ Writer hasta el moderno java.nio.file (NIO.2) con Path, Files y FileSystem. Veremos en qué se diferencian los enfoques, dónde gana la E/S asíncrona, cómo migrar de forma segura ( File . toPath() ⇄ Path . toFile()), y también revisaremos ejemplos prácticos, una guía para elegir la API y errores típicos.
    Disponible
  • Clases File, Path, Files: visión general, creación de objetos

    JAVA 25 SELF
    Nivel 35,Lección 1
    En la lección analizamos tres entidades clave del API de archivos de Java: el histórico File, la abstracción moderna de ruta Path de NIO.2 y la clase utilitaria «navaja suiza» Files. En la práctica veremos cómo crear objetos, convertir File ↔ Path, «unir» rutas de forma segura con resolve, obtener rutas relativas con relativize, normalizarlas con normalize y realizar operaciones como Files.exists, Files.copy, Files.move, Files.readAllLines/ Files.write. Resultado: una comprensión clara de cuándo usar cada enfoque y qué errores aparecen con más frecuencia.
    Disponible
  • Lectura y escritura de archivos: operaciones básicas

    JAVA 25 SELF
    Nivel 35,Lección 2
    En esta lección vemos formas rápidas de trabajar con archivos mediante la utilidad java.nio.file.Files: leemos el archivo completo ( readAllBytes, readAllLines) y escribimos datos ( write) con la codificación explícita StandardCharsets.UTF_8. Hablaremos del manejo de excepciones IOException, mostraremos ejemplos prácticos, comentaremos cuándo convienen las API de flujos ( BufferedReader, BufferedWriter) y revisaremos errores típicos.
    Disponible
  • Modos de trabajo con archivos: lectura, escritura y anexado

    JAVA 25 SELF
    Nivel 35,Lección 3
    En esta lección analizamos los modos de trabajo con archivos en Java: sobrescritura y anexado, combinaciones de opciones StandardOpenOption (por ejemplo, APPEND, CREATE, TRUNCATE_EXISTING, CREATE_NEW), trabajo con texto y bytes mediante Files.write()/ Files.readAllBytes(), cuándo elegir flujos ( BufferedReader/ BufferedWriter) y cómo gestionar correctamente las excepciones ( IOException y otras). Muchos ejemplos prácticos y análisis de errores típicos.
    Disponible
  • Trabajo con directorios: creación, eliminación y visualización del contenido

    JAVA 25 SELF
    Nivel 35,Lección 4
    Lección práctica sobre el trabajo con el sistema de archivos mediante java.nio.file: creamos directorios con Files.createDirectory y Files.createDirectories, eliminamos con Files.delete y Files.deleteIfExists, listamos el contenido con Files.list, y analizamos la eliminación recursiva con Files.walkFileTree. Ejemplos paso a paso, un mini gestor de archivos y una sección con errores típicos te ayudarán a trabajar con carpetas con confianza en cualquier SO.
    Disponible
  • BufferedReader, BufferedWriter: almacenamiento en búfer, ventajas

    JAVA 25 SELF
    Nivel 36,Lección 0
    Por qué leer y escribir archivos «con cucharilla» sale caro: analizamos cómo el almacenamiento en búfer acelera la E/S de texto en Java. Veremos cómo BufferedReader y BufferedWriter funcionan sobre FileReader/ FileWriter, usamos la lectura por líneas mediante readLine(), la escritura y el salto de línea con write()/ newLine(), el vaciado forzado flush(), fijamos el tamaño del búfer y tratamos las codificaciones con InputStreamReader/ OutputStreamWriter. Cuándo aplicar almacenamiento en búfer, cuándo no — y cuáles son los errores más frecuentes.
    Disponible
  • 1
  • ...
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...
  • 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