ganhando_produtividade_com_Stream_API_Java icon indicating copy to clipboard operation
ganhando_produtividade_com_Stream_API_Java copied to clipboard

Duvida desafio 16

Open PedroHenrique726 opened this issue 2 years ago • 3 comments

Boa tarde,

Já realizei os demais desafios porém ainda não sei como resolver o desafio 16. Não sei se preciso criar uma List para acomodar o inteiro passado pelo usuário ou se existe alguma forma direta.

PedroHenrique726 avatar Aug 25 '23 20:08 PedroHenrique726

Muito obrigada mais uma vez pela contribuição. Esse exercício 16 não tem nada a ver está neste desafio. Pode desconsiderar, viu? Acabei de excluir.

Até logo!

cami-la avatar Aug 28 '23 20:08 cami-la

Boa tarde! Minha resposta:

List<Integer> pares = numeros.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println(pares);

List<Integer> impares = numeros.stream() .filter(n -> n % 2 != 0) .collect(Collectors.toList()); System.out.println(impares);

NosredelG avatar Jul 29 '24 17:07 NosredelG

Minha solução foi:

    Map<Boolean, List<Integer>> groups = 
        numeros.stream()
            .collect(Collectors.groupingBy(i -> i % 2 == 0));
    groups.computeIfAbsent(true, k -> List.of());    // acrescentei isso aqui só para o caso de não haver números pares 
    groups.computeIfAbsent(false, k -> List.of());   // ou ímpares na lista original

    System.out.println("Pares: " + groups.get(true));
    System.out.println("Ímpares: " + groups.get(false));

alexdemoraes avatar Sep 05 '24 14:09 alexdemoraes