¿Sabes cómo usar Java Stream API?
Aplique su conocimiento de transmisiones , lambdas , manejadores de métodos y otras cosas funcionales de Java.
También hay algunas tareas que harán pensar que incluso programadores experimentados. Intenta resolverlos a todos.
25 tareas están disponibles ahora
Repositorio de clones → Implementar Métodos → Ejecutar pruebas → corregir errores
Los métodos para implementar se colocan en tasks.StreamTasks de src . Inicialmente, están robados con UnsupportedOperationException estándar (y las pruebas saben sobre eso). Debe reemplazar tales líneas con solución consisten en flujo de flujo o algo relacionado con él (se proporcionan descripción y sugerencias para cada tarea).
Está prohibido usar ciclos estándar ( for , while , do-while , recurre) en absoluto y condiciones ( if , if-else , ...) fuera de las operaciones de flujo. El objetivo principal de este proyecto es enseñarle cómo usar el enfoque funcional en la práctica. Una posible exclusión del paradigma funcional puro es declarar y el uso de variables locales.
Debido a que este proyecto está orientado a los principiantes , no se requieren bibliotecas dependientes . Si sabe cómo agregar dependencias y realmente sabe qué puede hacerlo manualmente (pero, apunte, todas las tareas se pueden resolver utilizando solo la biblioteca Java estándar).
El requisito principal es JVM de 11 versión (o superior)
Ejecute el método principal desde tasks.StreamTasksMain Clase en su IDE preferido o ejecute una test.(cmd|sh) .
Se requiere Flag -ea para habilitar la palabra clave assert para el verificador de pruebas. De lo contrario, todas las pruebas no se ejecutarán correctamente.
El programa de verificación ejecutará pruebas para todas las tareas y luego escribirá veredicto para cada una de las tareas.
Posibles veredictos:
null Hasta que haya resuelto todas las tareas con Veredicto accepted el programa finalizará con el código de salida no cero.
Puede ejecutar el programa de verificación con example de argumento. Para esa example , agrega palabra a los argumentos de aprobación en IDE o al final de la ejecución de scripts: test.cmd example (para Windows) y ./test.sh example (para UNIX)
Hay algunas tareas implementadas en example tasks.StreamTasksExample de clase.
No garantizado que la implementación sea correcta o de manera óptima;)
En caso src que no sepa cómo resolver alguna tarea de lo que puede ver la solución en tasks.solution.StreamTasksSolution . Esta clase se utiliza como solución de referencia para verificar las respuestas, por lo que puede copiar código de pasta a la tarea y se aceptará esta tarea.
Intente evitar cualquier interacción con soluciones hasta que haya completado todas las tareas :)
También puede usar tareas de este proyecto para diferentes desafíos. Por ejemplo, puede verificar cuántas tareas puede hacer en tiempo limitado o cuánto tiempo necesitará para resolverlas todas , etc.
La versión 0.1.0 está disponible aquí
Planes futuros:
[ ] Número de ascenso de tareas a 100[~] Agregue más generadores de entrada para probar el motor[✓] para Map <?, ?> Tipo[✓] Para List <List <?>> Tipo (y cualquier nivel de recinto)[ ] Demás[ ] Agregue más variaciones de entrada al motor de prueba (colección FE como extensión de otro parámetro que también es la recolección)[~] Up con algunas nuevas ideas de tareas[ ] Divide las tareas a varias clases de temas