Skip to content

Instantly share code, notes, and snippets.

@alexjosesilva
Created February 22, 2024 18:26
Show Gist options
  • Select an option

  • Save alexjosesilva/9f071fd5048835926180a446b70eb942 to your computer and use it in GitHub Desktop.

Select an option

Save alexjosesilva/9f071fd5048835926180a446b70eb942 to your computer and use it in GitHub Desktop.
Programação Funcional
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, 7, 8, 9, 10);
int somaQuadrados = calcularSomaQuadrados(numeros);
System.out.println("A soma dos quadrados é: " + somaQuadrados);
}
public static int calcularSomaQuadrados(List<Integer> numeros) {
return numeros.stream()
.map(numero -> numero * numero) // Mapeando para o quadrado do número
.reduce(0, Integer::sum); // Reduzindo a soma de todos os quadrados
}
}
}
/**
Neste exemplo:
Criamos uma lista de inteiros contendo números de 1 a 10.
Definimos um método calcularSomaQuadrados que recebe uma lista de inteiros e usa a API de Streams para calcular a soma dos quadrados.
Dentro do método, usamos a função map para mapear cada número para o seu quadrado.
Em seguida, usamos a função reduce para somar todos os quadrados.
Este é um exemplo de programação funcional, onde expressamos o que queremos fazer (calcular a soma dos quadrados)
em termos de funções e operações de coleção, sem a necessidade de explicitamente controlar o estado dos dados ou usar estruturas de
controle como loops. Isso torna o código mais conciso, legível e fácil de entender.
**/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment