1
resposta

Resolução dos exercícios

Segue a resolução:

package com.example.exercicio.principal;
import com.example.exercicio.models.Primos;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

    public class Principal {
        public static void main(String[] args) {

            //1 - Dada a lista de números inteiros abaixo, filtre apenas os números pares e imprima-os.
            List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
            List<Integer> pares = numeros.stream()
                    .filter(n -> n % 2 == 0)
                    .collect(Collectors.toList());

            System.out.println(pares);

            //2 - Dada a lista de strings abaixo, converta todas para letras maiúsculas e imprima-as.
            List<String> palavras = Arrays.asList("java", "stream", "lambda");
            List<String> maiusculas = palavras.stream()
                    .map(String::toUpperCase)
                    .collect(Collectors.toList());

            System.out.println(maiusculas);

            /*3 - Dada a lista de números inteiros abaixo, filtre os números ímpares,
            multiplique cada um por 2 e colete os resultados em uma nova lista.
             */

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

            //4 - Dada a lista de strings abaixo, remova as duplicatas (palavras que aparecem mais de uma vez) e imprima o resultado.
            List<String> palavrasRepetidas = Arrays.asList("apple", "banana", "apple", "orange", "banana");
            List<String> unicas = palavrasRepetidas.stream()
                    .distinct()
                    .collect(Collectors.toList());
            System.out.println(unicas);

        //5 - Dada a lista de sublistas de números inteiros abaixo, extraia todos os números primos em uma
            // única lista e os ordene em ordem crescente.
            List<List<Integer>> listaDeNumeros = Arrays.asList(
                    Arrays.asList(1, 2, 3, 4),
                    Arrays.asList(5, 6, 7, 8),
                    Arrays.asList(9, 10, 11, 12)
            );
                 List <Integer> primos = listaDeNumeros.stream()
                         .flatMap(List::stream)
                    .filter(Primos::numeroPrimo)
                         .sorted()
                    .collect(Collectors.toList());
            System.out.println("Os números primos são: " + primos);




        }
}



Verificando quais números são primos:

package com.example.exercicio.models;

import java.util.List;

public class Primos {

    public static boolean numeroPrimo(int n) {

        if (n <= 1) return false;
        for (int i = 2; i <= Math.sqrt(n); i++) {
            if (n % i == 0) return false;
        }
        return true;
    }

}
1 resposta

Muito bem, Víctor!