1
resposta

Hora da prática: desafios concluídos (1 a 6)

Desafio 1:

package desafio1;

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);
        numeros.stream()
                .filter(n -> n % 2 == 0)
                .forEach(System.out::println);
    }
}

Desafio 2:

package desafio2;

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> palavras = Arrays.asList("java", "stream", "lambda");
        palavras.stream()
                .map(p -> p.toUpperCase())
                .forEach(System.out::println);
    }
}

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<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
        List<Integer> resultado = numeros.stream()
                .filter(n -> n % 2 != 1)
                .map(n -> n * 2)
                .collect(Collectors.toList());
        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<String> palavras = Arrays.asList("apple", "banana", "apple", "orange", "banana");
        palavras.stream()
                .distinct()
                .forEach(System.out::println);
    }
}

Desafio 5:

package desafio5;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        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(Main::primo)
                .sorted()
                .collect(Collectors.toList());
        System.out.println(primos);
    }
    public static boolean primo(int numero) {
        if (numero <= 1) return false;
        for (int i = 2; i <= Math.sqrt(numero); i++) {
            if (numero % i == 0) return false;
        }
        return true;
    }
}

Desafio 6:

package desafio6;

public class Pessoa {
    String nome;
    int idade;

    Pessoa(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

    public int getIdade() {
        return idade;
    }
}
package desafio6;

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Pessoa> pessoas = Arrays.asList(
                new Pessoa("Alice", 22),
                new Pessoa("Bob", 17),
                new Pessoa("Charlie", 19)
        );
        pessoas.stream()
                .filter(p -> p.getIdade() > 18)
                .map(p -> p.getNome())
                .sorted()
                .forEach(System.out::println);
    }
}
1 resposta

Parabéns!! Ficou muito bom!