digitalinnovationone / ganhando_produtividade_com_Stream_API_Java

Este repositório contém o código-fonte do curso "Ganhando Produtividade com Stream API Java". O curso foi projetado para ajudar desenvolvedores Java a aproveitar ao máximo a poderosa Stream API introduzida no Java 8.
https://web.dio.me/course/ganhando-produtividade-com-stream-api
792 stars 495 forks source link

Duvida desafio 16 #4

Open PedroHenrique726 opened 1 year ago

PedroHenrique726 commented 1 year ago

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.

cami-la commented 1 year ago

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!

NosredelG commented 3 months ago

Boa tarde! Minha resposta:

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

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

alexdemoraes commented 1 month ago

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