Este proyecto es un conjunto de ejercicios y ejemplos prácticos en Java diseñados para explorar diversas características del lenguaje y sus bibliotecas. Incluye ejercicios en la terminal que abarcan streams, manejo de archivos, multithreading, bibliotecas populares, patrones de diseño, programación orientada a objetos (OOP) y más.
- Descripción
- Características
- Requisitos Previos
- Instalación
- Ejercicios Disponibles
- Ejecución
- Contribuciones
El proyecto tiene como objetivo proporcionar un entorno práctico para aprender y practicar conceptos avanzados y básicos de Java. Cada ejercicio está diseñado para ejecutarse desde la terminal, facilitando la experimentación y la comprensión de temas clave del lenguaje.
- Streams API: Ejercicios para filtrar, mapear y reducir colecciones de datos.
- Manejo de Archivos: Lectura y escritura de archivos, incluyendo ejemplos de NIO y IO.
- Multithreading: Ejemplos prácticos de hilos, sincronización y concurrencia.
- Bibliotecas Populares: Uso de bibliotecas como Jackson.
- Patrones de Diseño: Implementaciones prácticas de patrones como Singleton, Factory, Observer y más.
- OOP: Ejercicios para practicar herencia, polimorfismo, encapsulación y abstracción.
- Ejemplos de Código: Código bien documentado para cada tema, con comentarios explicativos.
- Java: JDK 17 o superior.
- Maven: Para gestionar las dependencias y construir el proyecto.
-
Clona este repositorio:
git clone https://github.com/DAVID-DAM/Playground.git cd Playground -
Construye el proyecto con Maven:
mvn clean install
- Filtrado de listas.
- Agrupación y partición de datos.
- Operaciones terminales como
collectyreduce.
- Lectura y escritura de archivos de texto.
- Manejo de archivos binarios.
- Ejemplos con
FilesyPathsde NIO.
- Ejercicios básicos con
ThreadyRunnable. - Uso de
ExecutorServiceyFuture. - Sincronización con
synchronizedyReentrantLock.
- Singleton.
- Factory.
- Observer.
- Strategy.
- Decorator.
- Herencia y polimorfismo con ejemplos prácticos.
- Ejercicios de encapsulación y abstracción.
- Implementación de interfaces y clases abstractas.
-
Dirígete al directorio
targetdespués de compilar el proyecto:cd target -
Ejecuta el programa principal desde la terminal:
java -jar java-playground.jar
-
Navega por los ejercicios siguiendo el menú interactivo o ejecutando clases específicas:
java com.ejemplo.playground.StreamsExample
¡Contribuciones son bienvenidas! Si tienes ideas para nuevos ejercicios o mejoras en los existentes, abre un issue o envía un pull request.