Você sabe como usar a API Java Stream?
Aplique seu conhecimento de fluxos , lambdas , manipuladores de métodos e outras coisas funcionais de java.
Existem também algumas tarefas que farão pensar que até programadores experientes. Tente resolver todos eles.
25 tarefas estão disponíveis agora
Repositório de Clone → Implementar Métodos → Executar testes → Corrigir erros
Os métodos a serem implementados são colocados em tasks.StreamTasks de classe.StreamTasks na pasta src . Inicialmente, eles são extraídos com o padrão UnsupportedOperationException (e os testes sabem disso). Você precisa substituir essas linhas pela solução consiste em fluxo de fluxo ou algo relacionado a ele (descrição e dicas para cada tarefa são fornecidos).
É proibido usar ciclos padrão ( for , while , do-while , a recursão) e as condições ( if , if-else , ...) fora das operações de fluxo. O principal objetivo deste projeto é ensinar você a usar a abordagem funcional na prática. Uma possível exclusão do paradigma funcional puro é declarar e usar as variáveis locais.
Devido a este projeto, está orientado para iniciantes , não são necessárias bibliotecas dependentes . Se você sabe como adicionar dependências e realmente sabe o que você pode fazer manualmente (mas, seja apontado, todas as tarefas podem ser resolvidas usando apenas a biblioteca Java padrão).
O requisito principal é a JVM de 11 versão (ou superior)
Execute o método principal do tasks.StreamTasksMain Classe no seu IDE preferido ou execute um test.(cmd|sh) .
Sinalizador -ea é necessário para ativar a palavra -chave assert para o verificador de testes. Caso contrário, todos os testes não serão executados corretamente.
O programa de verificação executará testes para todas as tarefas e, em seguida, escreverá o veredicto para cada uma das tarefas.
Possíveis veredictos:
null Até você resolver todas as tarefas com o veredicto accepted o programa terminará com o código de saída diferente de zero.
Você pode executar o programa de verificação com example de argumento. Para isso, adicione uma palavra example aos argumentos que passam no IDE ou ao final da execução de scripts: test.cmd example (para Windows) e ./test.sh example (para Unix)
Existem algumas tarefas implementadas nas tasks.StreamTasksExample da classe.StreamTaskSexample, para que elas sejam testadas no modo example .
Não garantido que a implementação está correta ou de maneira ideal;)
Caso você não saiba como resolver alguma tarefa do que você pode ver src tasks.solution.StreamTasksSolution . Esta classe é usada como solução de referência para verificar as respostas, para que você possa copiar o código-cola para a tarefa e essa tarefa será aceita.
Tente evitar qualquer interação com soluções até concluir todas as tarefas :)
Você também pode usar tarefas deste projeto para diferentes desafios. Por exemplo, você pode verificar quantas tarefas você pode executar em tempo limitado ou quanto tempo precisará para resolver todos eles , etc.
Versão 0.1.0 está disponível aqui
Planos futuros:
[ ] Rise Número de tarefas para 100[~] Adicione mais geradores de entrada para testar o motor[✓] Para Map <?, ?> Tipo[✓] Para List <List <?>> Tipo (e algum nível de gabinete)[ ] Outro[ ] Adicione mais variações de entrada ao mecanismo de teste (coleção de FE como extensão de outro parâmetro que também é a coleção)[~] Será que as novas idéias de tarefas[ ] Dividir tarefas em várias classes por tópicos