Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

desafio stream has finished #14

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions src/stream_api/Desafio1.java
Original file line number Diff line number Diff line change
@@ -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<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
System.out.println(
"----1- ORDEM NUMERICA-----");

List<Integer> emOrdem = numeros.stream().sorted().toList();
System.out.println("Os números em ordem numérica: "+ emOrdem);
}

}
24 changes: 24 additions & 0 deletions src/stream_api/Desafio10.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> result = numeros.stream().filter(n -> n % 3 == 0 || n % 5 == 0).toList();

System.out.println("Números múltiplos de 3 e 5: " + result);

}

}
22 changes: 22 additions & 0 deletions src/stream_api/Desafio11.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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);

}

}
22 changes: 22 additions & 0 deletions src/stream_api/Desafio12.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> produto = numeros.stream()
.reduce((a, b) -> a * b);

System.out.println("O produto de todos os números é: " + produto.get());
}
}
21 changes: 21 additions & 0 deletions src/stream_api/Desafio13.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> 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);
}
}
36 changes: 36 additions & 0 deletions src/stream_api/Desafio14.java
Original file line number Diff line number Diff line change
@@ -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<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);

//Predicate<Integer> 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;
};
}
24 changes: 24 additions & 0 deletions src/stream_api/Desafio15.java
Original file line number Diff line number Diff line change
@@ -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<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
List<Integer> 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);
}
}
}
30 changes: 30 additions & 0 deletions src/stream_api/Desafio16.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> pares = numeros.stream()
.filter(numero -> numero % 2 == 0).toList();

List<Integer> impares = numeros.stream()
.filter(numero -> numero % 2 != 0).toList();

System.out.println("Números pares: " + pares);
System.out.println("Números ímpares: " + impares);

}

}
23 changes: 23 additions & 0 deletions src/stream_api/Desafio17.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> numerosPrimos = numeros.stream().filter(n -> Desafio14.isPrimo(n)).toList();

System.out.println("Numeros primos: " + numerosPrimos);

}

}
25 changes: 25 additions & 0 deletions src/stream_api/Desafio18.java
Original file line number Diff line number Diff line change
@@ -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<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 4, 3);
List<Integer> 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.");
}

}
}
20 changes: 20 additions & 0 deletions src/stream_api/Desafio19.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> 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);

}
}
20 changes: 20 additions & 0 deletions src/stream_api/Desafio2.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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);

}
}
28 changes: 28 additions & 0 deletions src/stream_api/Desafio3.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> 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.");
}

}
}
22 changes: 22 additions & 0 deletions src/stream_api/Desafio4.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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<Integer> somentePares = numeros.stream().filter(n -> n % 2 == 0).toList();
System.out.println(somentePares);
}
}
25 changes: 25 additions & 0 deletions src/stream_api/Desafio5.java
Original file line number Diff line number Diff line change
@@ -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<Integer> 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);
}
}
Loading