1 - package com.example;
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(10, 20, 30, 40, 50);
IntSummaryStatistics statistics = numeros.stream()
.collect(Collectors.summarizingInt(Integer::intValue));
System.out.println("O maior número da lista é: " + statistics.getMax());
}
}
2 - package com.example;
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>> grupoPalavras = palavras.stream()
.collect(Collectors.groupingBy(String::length));
System.out.println(grupoPalavras);
// Resultado Esperado: {4=[java, code], 6=[stream, lambda]}
}
}
3 - package com.example;
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 agrupamentoNomes = nomes.stream()
.collect(Collectors.joining(", "));
System.out.println(agrupamentoNomes);
}
}
4 - package com.example;
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);
Integer somaQuadradosPares = numeros.stream()
.filter(n-> n % 2 ==0)
.mapToInt(n->n *n)
.sum();
System.out.println(somaQuadradosPares);
}
}
5 - package com.example;
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);
List<Integer> pares = numeros.stream()
.filter(n -> n%2 ==0)
.collect(Collectors.toList());
System.out.println("Pares: " + pares);
List<Integer> impares = numeros.stream()
.filter(n -> n%2 !=0)
.collect(Collectors.toList());
System.out.println("Impares: " + impares);
Map<Boolean, List<Integer>> agrupamento = numeros.stream()
.collect(Collectors.groupingBy(n-> n%2==0));
System.out.println("Pares: " + agrupamento.get(true));
System.out.println("Impares: " + agrupamento.get(false));
}
}
O resto das resoluções está no repositorio: https://github.com/martinssluis/resolucaoExerciciosAlura
na branch lambdasStreamsSpringFramework