Java lambdas tuto1

Page 1

Java Lambdas 1. Uso de @FuntionalInterface public class Main{ public static void main(String[] args) { Usable dato = () -> {System.out.println("Rimbombante!!!");}; dato.uso(); }

@FunctionalInterface interface Usable{ void uso(); }

//Salida: //Rimbombante!!! }

2. Usando listas import java.util.List; import java.util.Arrays;

public class Main{ public static void main(String[] args) { String[] nombres = new String[4];//(0,1,2,3) nombres[0] = new String("Mariana");


nombres[1] = new String("Marielena"); nombres[2] = new String("Antonella"); nombres[3] = new String("Adelaida");

List<String> listaNombres = Arrays.asList(nombres);

System.out.println("Nombres con longitud mayor a 7:"); listaNombres .stream().filter(n -> n.length() > 7) .forEach(System.out::println);

System.out.println("Nombres con longitud menor o igual a 7:"); listaNombres .stream().filter(n -> n.length() <= 7) .forEach(System.out::println);

System.out.println("Nombres que empiecen con M:"); listaNombres.stream() .filter(n -> n.startsWith("M")) .forEach(System.out::println);

System.out.println("Nombres que empiecen con A:"); listaNombres.stream() .filter(n -> n.startsWith("A")) .forEach(System.out::println); }


} 3. Concatenando cadenas public class Main{ public static void main(String[] args) {

X my_x = new X();

Funcionable concatenar = (nombre, apellidos) -> nombre.concat(" "+apellidos);

String nombreCompleto = my_x.sumar(concatenar,"Antonio","Lopez");

System.out.print("Nombre completo:\n"+nombreCompleto);

}

}

interface Funcionable{ String unir(String a, String b); }

class X{ public String sumar(Funcionable func, String x, String y){ return func.unir(x,y);


} } 4. Usando mĂŠtodos static import java.util.Arrays; import java.util.List; import java.util.function.Predicate; import java.util.function.Consumer;

public class Main{ public static void main(String[] args) { List<String> listaNombres = Arrays.asList("Ana","Maria","Fernando","Genaro","Tomas","Juana","Carlota","Horacio");

System.out.println("1. X::noEsJuana "); listaNombres .stream() .filter(X::noEsJuana) .forEach(System.out::println);

System.out.println("2. nombre -> X.noEsJuana(nombre) "); listaNombres .stream() .filter(n -> X.noEsJuana(n)) .forEach(System.out::println);


} }

class X{ public static final String NOMBRE = "Juana";

public static boolean noEsJuana(String nombre){ return !nombre.equals(NOMBRE); }

} 5. De nuevo con mĂŠtodos static import java.util.Arrays; import java.util.List;

public class Main{ public static void main(String[] args) { List<Integer> listaNumeros = Arrays.asList(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);

System.out.println("Numeros % 3 == 0 :"); listaNumeros.stream() .filter(n -> n%3==0) .forEach(System.out::println);

System.out.println("Numeros %3 == 0 (usando metodos static):");


listaNumeros.stream() .filter(Main::calculo) .forEach(System.out::println); }

public static boolean calculo(int num){ return num%3==0; } }


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.