diff --git a/src/stream_api/Desafio1.java b/src/stream_api/Desafio1.java new file mode 100644 index 0000000..88a3c17 --- /dev/null +++ b/src/stream_api/Desafio1.java @@ -0,0 +1,22 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + + +/* + * Desafio 1 - Mostre a lista na ordem numérica: + * Crie um programa que utilize a Stream API para ordenar a lista de números em ordem crescente e a exiba no console. + */ +public class Desafio1 { + + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "----1- ORDEM NUMERICA-----"); + + List emOrdem = numeros.stream().sorted().toList(); + System.out.println("Os números em ordem numérica: "+ emOrdem); + } + +} \ No newline at end of file diff --git a/src/stream_api/Desafio10.java b/src/stream_api/Desafio10.java new file mode 100644 index 0000000..6a895c3 --- /dev/null +++ b/src/stream_api/Desafio10.java @@ -0,0 +1,24 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/*** + * Agrupe os valores ímpares múltiplos de 3 ou de 5: + * Utilize a Stream API para agrupar os valores ímpares múltiplos de 3 ou de 5 e + * exiba o resultado no console. + */ +public class Desafio10 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + + System.out.println( + "-----10- AGRUPAR NUMEROS MULTIPLOS DE 3 OU 5-------"); + + List result = numeros.stream().filter(n -> n % 3 == 0 || n % 5 == 0).toList(); + + System.out.println("Números múltiplos de 3 e 5: " + result); + + } + +} diff --git a/src/stream_api/Desafio11.java b/src/stream_api/Desafio11.java new file mode 100644 index 0000000..93c9b01 --- /dev/null +++ b/src/stream_api/Desafio11.java @@ -0,0 +1,22 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Desafio 11 - Encontre a soma dos quadrados de todos os números da lista: + * Utilizando a Stream API, encontre a soma dos quadrados de todos os números da + * lista e exiba o resultado no console. + */ +public class Desafio11 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "------11- SOMA DOS QUADRADOS DE TODOS OS NUMEROS-----"); + + Integer somaDosQuadrados = numeros.stream().map(n -> n * n).reduce(0, Integer::sum); + System.out.println("Soma dos quadrados: " + somaDosQuadrados); + + } + +} diff --git a/src/stream_api/Desafio12.java b/src/stream_api/Desafio12.java new file mode 100644 index 0000000..030916f --- /dev/null +++ b/src/stream_api/Desafio12.java @@ -0,0 +1,22 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; + +/* +* Desafio 12 - Encontre o produto de todos os números da lista: +* Com a ajuda da Stream API, encontre o produto de todos os números +* da lista e exiba o resultado no console. + */ +public class Desafio12 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-----12- ENCONTRAR O PRODUTO DE TODOS OS NUMEROS-----"); + Optional produto = numeros.stream() + .reduce((a, b) -> a * b); + + System.out.println("O produto de todos os números é: " + produto.get()); + } +} diff --git a/src/stream_api/Desafio13.java b/src/stream_api/Desafio13.java new file mode 100644 index 0000000..8fa2a8a --- /dev/null +++ b/src/stream_api/Desafio13.java @@ -0,0 +1,21 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Desafio 13 - Filtrar os números que estão dentro de um intervalo: + * Utilize a Stream API para filtrar os números que estão dentro de um intervalo + * específico (por exemplo, entre 5 e 10) e exiba o resultado no console. + */ +public class Desafio13 { + public static void main(String[] args) { + + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-------13- FILTRAR OS NUMEROS QUE ESTAO DENTRO DE UM INTERVALO------"); + + List resultadoIntervalo = numeros.stream().filter(n -> n > 5 && n < 10).toList(); + System.out.println("Resultado dos números entre o intervalo de 5 e 10: " + resultadoIntervalo); + } +} diff --git a/src/stream_api/Desafio14.java b/src/stream_api/Desafio14.java new file mode 100644 index 0000000..e352be2 --- /dev/null +++ b/src/stream_api/Desafio14.java @@ -0,0 +1,36 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Predicate; + +/* + * Encontre o maior número primo da lista: + * Com a Stream API, encontre o maior número primo da lista e exiba o resultado + * no console. + */ +public class Desafio14 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + + //Predicate somaTresEcinco = numero -> numero > 1 || numero % numero != 0; + System.out.println( + "------14- ENCONTRAR O MAIOR NUMERO PRIMO DA LISTA -------"); + + Integer maiorNumeroPrimo = numeros.stream().filter(n -> isPrimo(n)).max(Integer::compareTo) + .orElse(null); + System.out.println("O maior número primo é: " + maiorNumeroPrimo); + } + + public static boolean isPrimo(int numero) { + if (numero <= 1) { + return false; + } + for (int i = 2; i <= Math.sqrt(numero); i++) { + if (numero % i == 0) { + return false; + } + } + return true; + }; +} diff --git a/src/stream_api/Desafio15.java b/src/stream_api/Desafio15.java new file mode 100644 index 0000000..f6245dc --- /dev/null +++ b/src/stream_api/Desafio15.java @@ -0,0 +1,24 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Verifique se a lista contém pelo menos um número negativo: + * Utilizando a Stream API, verifique se a lista contém pelo menos um número + * negativo e exiba o resultado no console. + */ +public class Desafio15 { + public static void main(String[] args) { + System.out.println( + "---15- VERIFICAR SE EXISTE NUMERO NEGATIVO ---"); + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + List numerosNegativos = numeros.stream().filter(n -> n < 0).toList(); + + if (numerosNegativos.isEmpty()) { + System.out.println("Não existem números negativos nesta lista."); + } else { + System.out.println("Números negativos da lista: " + numerosNegativos); + } + } +} diff --git a/src/stream_api/Desafio16.java b/src/stream_api/Desafio16.java new file mode 100644 index 0000000..4ab26bb --- /dev/null +++ b/src/stream_api/Desafio16.java @@ -0,0 +1,30 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/* + * Agrupe os números em pares e ímpares: + * Utilize a Stream API para agrupar os números em duas listas separadas, uma + * contendo os números pares e outra contendo os números ímpares da lista + * original, e exiba os resultados no console. + */ +public class Desafio16 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "---16- AGRUPE OS NUMEROS EM PARES E IMPARES ---"); + + List pares = numeros.stream() + .filter(numero -> numero % 2 == 0).toList(); + + List impares = numeros.stream() + .filter(numero -> numero % 2 != 0).toList(); + + System.out.println("Números pares: " + pares); + System.out.println("Números ímpares: " + impares); + + } + +} diff --git a/src/stream_api/Desafio17.java b/src/stream_api/Desafio17.java new file mode 100644 index 0000000..315994a --- /dev/null +++ b/src/stream_api/Desafio17.java @@ -0,0 +1,23 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Desafio 17 - Filtrar os números primos da lista: + * Com a ajuda da Stream API, filtre os números primos da lista e exiba o + * resultado no console. + */ +public class Desafio17 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "---17- FILTRE OS NUMEROS PRIMOS ---"); + + List numerosPrimos = numeros.stream().filter(n -> Desafio14.isPrimo(n)).toList(); + + System.out.println("Numeros primos: " + numerosPrimos); + + } + +} diff --git a/src/stream_api/Desafio18.java b/src/stream_api/Desafio18.java new file mode 100644 index 0000000..8d7e26e --- /dev/null +++ b/src/stream_api/Desafio18.java @@ -0,0 +1,25 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Desafio 18 - Verifique se todos os números da lista são iguais: + * Utilizando a Stream API, verifique se todos os números da lista são iguais e + * exiba o resultado no console. + */ +public class Desafio18 { + public static void main(String[] args) { + System.out.println( + "---18- NUMEROS QUE SAO IGUAIS ---"); + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + List numerosNaoRepetidos = numeros.stream().distinct().toList(); + + if (!numerosNaoRepetidos.isEmpty()) { + System.out.println("Todos os números da lista não são iguais, esses eram únicos: " + numerosNaoRepetidos); + } else { + System.out.println("Todos os números são iguais."); + } + + } +} diff --git a/src/stream_api/Desafio19.java b/src/stream_api/Desafio19.java new file mode 100644 index 0000000..5d7768d --- /dev/null +++ b/src/stream_api/Desafio19.java @@ -0,0 +1,20 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Predicate; + +public class Desafio19 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "---19- SOMA DOS NUMEROS DIVISÍVEIS POR 3 E 5 ---"); + + Predicate somaTresEcinco = numero -> numero % 3 == 0 || numero % 5 == 0; + + Integer teste = numeros.stream().filter(somaTresEcinco).reduce(0, Integer::sum); + + System.out.println("A soma dos números divisíveis por 3 e 5 é: " + teste); + + } +} diff --git a/src/stream_api/Desafio2.java b/src/stream_api/Desafio2.java new file mode 100644 index 0000000..9451ac2 --- /dev/null +++ b/src/stream_api/Desafio2.java @@ -0,0 +1,20 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/* + * Desafio 2 - Imprima a soma dos números pares da lista: + * Utilizando a Stream API, realize a soma dos números pares da lista e exiba o resultado no console. + * +*/ +public class Desafio2 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "--------2- SOMA DOS NUMEROS PARES------------"); + int somaNumerosPares = numeros.stream().filter(n -> n % 2 == 0).reduce(0, Integer::sum); + System.out.println("A soma dos números pares é: " + somaNumerosPares); + + } +} diff --git a/src/stream_api/Desafio3.java b/src/stream_api/Desafio3.java new file mode 100644 index 0000000..6bc6f63 --- /dev/null +++ b/src/stream_api/Desafio3.java @@ -0,0 +1,28 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/** + * Desafio 3 - Verifique se todos os números da lista são positivos: + * Com a ajuda da Stream API, verifique se todos os números da lista são + * positivos e exiba o resultado no console. + * + */ +public class Desafio3 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + + System.out.println( + "----3-VERIFICAR OS NUMEROS POSITIVOS---"); + + List result = numeros.stream().filter(n -> n < 0).toList(); + + if (!result.isEmpty()) { + System.out.println("Os seguintes números são negativos da lista: " + result); + } else { + System.out.println("Não existem números negativos na lista."); + } + + } +} diff --git a/src/stream_api/Desafio4.java b/src/stream_api/Desafio4.java new file mode 100644 index 0000000..fa85257 --- /dev/null +++ b/src/stream_api/Desafio4.java @@ -0,0 +1,22 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + + +/*** + * Desafio 4 - Remova todos os valores ímpares: + * Utilize a Stream API para remover os valores ímpares da lista e imprima a lista resultante no console. + * + */ +public class Desafio4 { + public static void main(String[] args) { + System.out.println( + "-------4- REMOVER TODOS OS ÍMPARES---------"); + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-----------------------------------------4- REMOVER TODOS OS ÍMPARES----------------------------------"); + List somentePares = numeros.stream().filter(n -> n % 2 == 0).toList(); + System.out.println(somentePares); + } +} diff --git a/src/stream_api/Desafio5.java b/src/stream_api/Desafio5.java new file mode 100644 index 0000000..900efb2 --- /dev/null +++ b/src/stream_api/Desafio5.java @@ -0,0 +1,25 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/*** + * Desafio 5 - Calcule a média dos números maiores que 5: + * Com a Stream API, calcule a média dos números maiores que 5 e exiba o + * resultado no console. + * + */ +public class Desafio5 { + public static void main(String[] args) { + + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + + System.out.println( + "-----5-MEDIA DOS NUMEROS MAIORES QUE CINCO-----"); + double media = numeros.stream() + .filter(n -> n > 5) + .mapToDouble(Integer::doubleValue) + .average().orElse(0.0); + System.out.println("A média dos números maiores que 5 é: " + media); + } +} diff --git a/src/stream_api/Desafio6.java b/src/stream_api/Desafio6.java new file mode 100644 index 0000000..3ae7ced --- /dev/null +++ b/src/stream_api/Desafio6.java @@ -0,0 +1,27 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/** + * Verificar se a lista contém algum número maior que 10: + * Utilize a Stream API para verificar se a lista contém algum número maior que + * 10 e exiba o resultado no console. + * + */ +public class Desafio6 { + public static void main(String[] args) { + + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-----------6- NUMEROS MAIORES QUE 10-------"); + List numerosMaioresQueDez = numeros.stream().filter(n -> n > 10).toList(); + if (!numerosMaioresQueDez.isEmpty()) { + System.out.println("Esses são os números maiores que 10: " + numerosMaioresQueDez); + }else{ + System.out.println("A lista não possui números maiores que 10."); + } + + } + +} diff --git a/src/stream_api/Desafio7.java b/src/stream_api/Desafio7.java new file mode 100644 index 0000000..d03f18d --- /dev/null +++ b/src/stream_api/Desafio7.java @@ -0,0 +1,27 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + + +/** + * Encontrar o segundo número maior da lista: + Com a ajuda da Stream API, encontre o segundo número maior da lista e exiba o resultado no console. + * + */ +public class Desafio7 { + public static void main(String[] args) { + + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-----------------------------------------7- SEGUNDO MAIOR NUMERO DA LISTA----------------------------------"); + + Integer segundoMaior = numeros.stream() + .distinct() + .sorted((a, b) -> b.compareTo(a)) + .skip(1) + .findFirst().orElse(null); + + System.out.println("O Segundo maior número da lista é: " + segundoMaior); + } +} diff --git a/src/stream_api/Desafio8.java b/src/stream_api/Desafio8.java new file mode 100644 index 0000000..ccad8d8 --- /dev/null +++ b/src/stream_api/Desafio8.java @@ -0,0 +1,21 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/*** + * Somar os dígitos de todos os números da lista: + * Utilizando a Stream API, realize a soma dos dígitos de todos os números da + * lista e exiba o resultado no console. + */ +public class Desafio8 { + public static void main(String[] args) { + + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + System.out.println( + "-----8- SOMAR TODOS OS DÍGITOS----"); + + Integer soma = numeros.stream().reduce(0, Integer::sum); + System.out.println("A soma de todos os números é: " + soma); + } +} diff --git a/src/stream_api/Desafio9.java b/src/stream_api/Desafio9.java new file mode 100644 index 0000000..581cc1d --- /dev/null +++ b/src/stream_api/Desafio9.java @@ -0,0 +1,22 @@ +package stream_api; + +import java.util.Arrays; +import java.util.List; + +/** + * Verificar se todos os números da lista são distintos (não se repetem): + * Com a Stream API, verifique se todos os números da lista são distintos (não + * se repetem) e exiba o resultado no console. + */ +public class Desafio9 { + public static void main(String[] args) { + List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3); + boolean todosDistintos = numeros.stream().distinct().count() == numeros.size(); + + if (todosDistintos) { + System.out.println("Todos os números são distintos."); + } else { + System.out.println("Há números repetidos na lista."); + } + } +}