Savez-vous comment utiliser l'API Java Stream?
Appliquez votre connaissance des flux , des lambdas , des gestionnaires de méthodes et d'autres choses Java fonctionnelles.
Il y a aussi certaines tâches qui feront penser même aux programmeurs expérimentés. Essayez de les résoudre tous.
25 tâches sont disponibles maintenant
Référentiel de clones → Implémentez les méthodes → Exécuter les tests → Correction des erreurs
Les méthodes à implémenter sont placées dans tasks.StreamTasks de src . Initialement, ils sont tronqués avec une conception standard UnsupportedOperationException (et les tests le savent). Vous devez remplacer ces lignes par une solution consiste en un flux de flux ou quelque chose qui lui est lié (des description et des conseils pour chaque tâche sont fournis).
Il est interdit d'utiliser des cycles standard ( for , while do-while la récursivité) et des conditions ( if , if-else , ...) hors des opérations de flux. L'objectif principal de ce projet est de vous apprendre à utiliser une approche fonctionnelle dans la pratique. Une exclusion possible du paradigme fonctionnel pur est la déclaration et l'utilisation des variables locales.
En raison de ce projet est orienté aux débutants , aucune bibliothèque dépendante n'est requise. Si vous savez comment ajouter des dépendances et vraiment savoir pour ce que vous pouvez le faire manuellement (mais, être pointé, toutes les tâches peuvent être résolues en utilisant uniquement la bibliothèque Java standard).
La principale exigence est JVM de 11 version (ou supérieure)
Exécutez la méthode principale à partir de tasks.StreamTasksMain classe dans votre IDE préféré ou exécutez un test.(cmd|sh) .
Flag -ea est nécessaire pour activer le mot clé assert pour le vérificateur des tests. Sinon, tous les tests ne seront pas exécutés correctement.
Le programme de vérification exécutera des tests pour toutes les tâches, puis écrivez un verdict pour chacune des tâches.
Verdicts possibles:
null Jusqu'à ce que vous résolviez toutes les tâches avec Verdict accepted , le programme se terminera avec du code de sortie non nul.
Vous pouvez exécuter le programme de vérification avec example d'argument. Pour cela, ajoutez example de mot aux arguments de passage dans IDE ou à la fin des scripts en cours d'exécution: test.cmd example (pour Windows) et ./test.sh example (pour Unix)
Il existe des tâches implémentées dans example tasks.StreamTasksExample de classe.
Non garanti que la mise en œuvre est correcte ou optimale;)
Dans le cas où vous ne savez pas comment résoudre une tâche que vous pouvez voir une solution dans tasks.solution.StreamTasksSolution Class dans le dossier src . Cette classe est utilisée comme solution de référence pour vérifier les réponses, vous pouvez donc copier le code-coller dans la tâche et cette tâche sera acceptée.
Essayez d'éviter toute interaction avec les solutions jusqu'à ce que vous terminez toutes les tâches :)
Vous pouvez également utiliser des tâches de ce projet pour différents défis. Par exemple, vous pouvez vérifier le nombre de tâches que vous pouvez faire en temps limité ou le temps dont vous aurez besoin pour les résoudre tous , etc.
La version 0.1.0 est disponible ici
Plans futurs:
[ ] Le nombre de tâches de hausse à 100[~] Ajouter plus de générateurs d'entrée pour tester le moteur[✓] pour Map <?, ?> Type[✓] pour List <List <?>> Type (et tout niveau de boîtier)[ ] Autre[ ] Ajouter plus de variations d'entrée au moteur de test (collection Fe comme extension d'un autre paramètre qui est également la collection)[~] Se lève avec de nouvelles idées de tâches[ ] Diviser les tâches à plusieurs classes par sujets