ganhando_produtividade_com_Stream_API_Java icon indicating copy to clipboard operation
ganhando_produtividade_com_Stream_API_Java copied to clipboard

Dúvida desafio 7

Open Thiago-JLopes opened this issue 1 year ago • 6 comments

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)).

Thiago-JLopes avatar May 15 '24 20:05 Thiago-JLopes

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.

Thiago-JLopes avatar May 15 '24 20:05 Thiago-JLopes

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?

kalkrop avatar May 16 '24 20:05 kalkrop

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.

kalkrop avatar May 16 '24 20:05 kalkrop

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!

cami-la avatar May 23 '24 14:05 cami-la

Uma alternativa ao seu código é usar reverseOrder() no .sorted e em seguida usar skip(long n)

marcosnathan avatar May 27 '24 20:05 marcosnathan

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.

esquilo11 avatar Jun 09 '24 05:06 esquilo11