package Lambdas;
import java.util.function.BinaryOperator;
public class ExpressaoLambda {
public static void main(String[] args) {
BinaryOperator<Integer> operator = (a, b) -> a * b;
System.out.println(operator.apply(10, 20));
}
}
package Lambdas;
import java.util.function.Predicate;
public class Primos {
static void main(String[] args) {
Predicate<Integer> isPrimo = ( num) -> {
if (num <= 1) {
return false;
}
if (num == 2) {
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
};
System.out.println(isPrimo.test(29));
System.out.println(isPrimo.test(4));
}
}
package Lambdas;
import java.util.function.Function;
public class ConverteMaiusculas {
public static void main(String[] args) {
Function<String, String> toUpperCase = s -> s.toUpperCase();
System.out.println(toUpperCase.apply("exemplo"));
}
}
package Lambdas;
import java.util.function.Predicate;
public class VerificadorPalindromo {
static void main(String[] args) {
Predicate<String> verificadorPalindromo = str -> {
StringBuilder sb = new StringBuilder(str);
String reversed = sb.reverse().toString();
return str.equalsIgnoreCase(reversed);
};
System.out.println(verificadorPalindromo.test("exemplo"));
System.out.println(verificadorPalindromo.test("radar"));
System.out.println(verificadorPalindromo.test("Aibohphobia"));
}
}
package Lambdas;
import java.util.Arrays;
import java.util.List;
public class Multiplicador {
static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
numeros.replaceAll(n -> n * 3);
System.out.println(numeros);
}
}
package Lambdas;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class OrdemAlfabetica {
static void main(String[] args) {
List<String> nomes = new ArrayList<>(Arrays.asList("banana", "abacaxi", "maça", "laranja", "morango"));
nomes.sort((s1, s2) -> s1.compareTo(s2));
System.out.println(nomes);
}
}
package Lambdas;
import java.util.function.BiFunction;
public class Divisor {
static void main(String[] args) {
BiFunction<Integer, Integer, Integer> dividir = (dividendo, divisor) -> {
if (divisor == 0){
throw new ArithmeticException("Divisor não pode ser zero");
}
return dividendo / divisor;
};
try {
System.out.println("Resultado: " + dividir.apply(10, 2));
System.out.println("Resultado: " + dividir.apply(17,0 ));
} catch (ArithmeticException e) {
System.out.println("Exceção capturada: " + e.getMessage());
}
}
}