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