Dúvida desafio 3
Oi, Cami, tudo bem?
Estou resolvendo os desafios e fiquei na dúvida em como eu posso resolver o desafio 3. "Desafio 3 - Verifique se todos os números da lista são positivos:"
Eu queria fazer um comparador, item por item da lista, e vir retornando "Verdadeiro" ou "Falso", mas estou com dificuldades.
Como eu posso fazer para ele fazer o teste lógico e vir retornando o resultado booleano, item por item?
Poderia me ajudar?
Olá, @dufernandess. Tudo bem sim e por aí? (:
Então, você pode fazer da seguinte forma:
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
List<Integer> numerosPositivos = numeros.stream()
.filter(num -> num > 0) //aqui você verifica se o número é positivo
.collect(Collectors.toList()); //aqui você pega esse número e coloca em uma nova lista
System.out.println(numerosPositivos);
Veja se ajudou. (:
Oi, Cami. Então, no caso, eu queria o stream fizesse a verificação de acordo com a condição e retornasse um valor booleano. Por exemplo, eu queria a verificação imprimisse dessa forma:
Verdadeiro Verdadeiro Verdadeiro Falso Verdadeiro Falso
sendo cada retorno booleano referente a verificação de um número.
é possível com o stream?
Sim, é possível. Podemos utilizar o método .map() para isso:
List<Integer> numeros = Arrays.asList(1, 2, 3, -5, -9, 0, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
List<Boolean> numerosPositivos = numeros.stream()
.map(num -> num > 0) //aqui você verifica se o número é positivo
.collect(Collectors.toList()); //aqui você pega o resultado (true or false) e coloca em uma nova lista
System.out.println(numerosPositivos);
//saída no console
[true, true, true, false, false, false, true, true, true, true, true, true, true, true, true, true]
Show! Muito obrigado!
Cami, consegue me indicar algum repositório onde posso aprender mais sobre as funcionalidades do .map?
Não tinha ficado claro que eu poderia utilizar o .map dessa forma.
Agradeço pela ajuda 🙏
Eita, pior que não tenho nenhum material agora para indicar. :(
Basicamente, utilizamos o .map() quando precisamos temos uma coleção de um tipo (que no nosso caso foi de Integer) e queremos transformar em outro tipo (que no nosso caso foi de Boolean).
Eu gosto muito de artigos, vou te sugerir um que fala sobre Stream: https://www.geeksforgeeks.org/stream-map-java-examples/
E por nada, precisando fico à disposição! Bons estudos para nós! (:
Muito obrigado, Cami