ganhando_produtividade_com_Stream_API_Java
ganhando_produtividade_com_Stream_API_Java copied to clipboard
Dúvida desafio 7
Oi Camila! No desafio 7 realizei esta implementação:
package stream_api;
import java.util.Arrays;
import java.util.List;
public class Desafio7 {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
System.out.println(numeros.stream().sorted().toList().get(numeros.size()-2));
}
}
porém fiquei com dúvida se seria uma boa forma de obter o elemento pedido usando get(numeros.size()-2)).
Também tenho dúvida nesta atividade Desafio 9 - Verificar se todos os números da lista são distintos (não se repetem): Com a Stream API, verifique se todos os números da lista são distintos (não se repetem) e exiba o resultado no console.
Oi Camila! No desafio 7 realizei esta implementação:
package stream_api; import java.util.Arrays; import java.util.List; public class Desafio7 { public static void main(String[] args) { List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); System.out.println(numeros.stream().sorted().toList().get(numeros.size()-2)); } }porém fiquei com dúvida se seria uma boa forma de obter o elemento pedido usando
get(numeros.size()-2)).
Fala colega de curso. Acredito que se você adicionar um outro valor 10 na lista. O valor 9, que deveria ser considerado o segundo maior, não será considerado. Obtendo como resultado que não satisfaz a questão, o valor 10. Será que um distinct() não seria aplicável?
Também tenho dúvida nesta atividade Desafio 9 - Verificar se todos os números da lista são distintos (não se repetem): Com a Stream API, verifique se todos os números da lista são distintos (não se repetem) e exiba o resultado no console.
Fala colega, Thiago. Nessa questão utilizei o distinct(), count(), size() e recebo um boolean como resultado. Se a quantidade de números distintos for igual ao tamanho da lista, todos se repetem. Espero ter ajudado. Até mais.
Parabéns, pessoal!! Existem várias formas de resolver o mesmo exercício!
Fico feliz com o envolvimento para ajudar o colega.
Bons estudos para nós!
Uma alternativa ao seu código é usar reverseOrder() no .sorted e em seguida usar skip(long n)
então, eu acho meio roubado aqui o que fiz. mas consegui fazendo isso aqui.
numerosInteiros.stream() .sorted() - Ordenar .distinct() - Eliminar repetições .toList() - Para Lista .reversed() - Inverter a Lista .get(1) - e "Manualmente" pegar o segundo elemento.