Desafio 1:
package desafio1;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(10, 20, 30, 40, 50);
Optional<Integer> maior = numeros.stream()
.max(Integer::compareTo);
maior.ifPresent(System.out::println);
}
}
Desafio 2:
package desafio2;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> palavras = Arrays.asList("java", "stream", "lambda", "code");
Map<Integer, List<String>> porTamanho = palavras.stream()
.collect(Collectors.groupingBy(p -> p.length()));
System.out.println(porTamanho);
}
}
Desafio 3:
package desafio3;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> nomes = Arrays.asList("Alice", "Bob", "Charlie");
String resultado = nomes.stream()
.collect(Collectors.joining(", "));
System.out.println(resultado);
}
}
Desafio 4:
package desafio4;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
int soma = numeros.stream()
.filter(n -> n % 2 == 0)
.mapToInt(n -> n * n)
.sum();
System.out.println("Soma dos quadrados dos pares: " + soma);
}
}
Desafio 5:
package desafio5;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
Map<Boolean, List<Integer>> separado = numeros.stream()
.collect(Collectors.partitioningBy(n -> n % 2 == 0));
System.out.println("Pares: " + separado.get(true));
System.out.println("Ímpares: " + separado.get(false));
}
}