Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Projeto] Resolução dos exercícios

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