Lambdas Java 8

import java.util.function.Consumer; import java.util.function.Supplier; import java.util.function.Function; import java.util.function.Predicate; import java.util.Collections.*; public class Main{ public static void main(String[] args){ //Consumidor: un solo valor y no devuelve valor alguno Consumer<Empleado> consumerEmp = emp -> System.out.println(emp.toString()); Empleado empleado = new Empleado("Programador", 10, 120000.00); empleado.setId(1); empleado.setNombre("Mario"); empleado.setApellidos("Sanchez Lopez"); empleado.setEdad(33); empleado.setAficiones("Lectura"); consumerEmp.accept(empleado); //Proveedor: no tiene parametros de entrada, pero devuelve un resultado Supplier<Empleado> empSupplier = () -> new Empleado(2, "Armand","Weller", 36, "Natacion","Analista", 12, 22000); System.out.println(empSupplier.get()); //Predicado: reciben un argumento y devuelven un valor logico Predicate<Empleado> empPredicate = emp -> emp.getPuesto().equalsIgnoreCase("Ingeniero"); if(empPredicate.test(new Empleado(3, "Julio","Matosa", 45, "Ver TV","Ingeniero", 10, 24000))){ System.out.println("Hola, ingeniero!!"); } //Funciones: Reciben un argumento y devuelven un resultado Function<Empleado, String> empFunction= (Empleado e)-> {return e.getNombre().concat(" "+e.getApellidos());}; System.out.println(empFunction.apply(new Empleado(2, "Armand","Weller", 36, "Natacion","Analista", 12, 22000))); } } class Persona implements Comparable<Persona>{ private int id; private String nombre; private String apellidos; private int edad; private String aficiones; public Persona(){} public Persona(int id, String nombre, String apellidos, int edad, String aficiones){ this.id=id; this.nombre=nombre; this.apellidos=apellidos; this.edad=edad; this.aficiones=aficiones; } public int getId(){ return id; } public void setId(int id){ this.id=id; } public String getNombre(){ return nombre; } public void setNombre(String nombre){ this.nombre=nombre; } public String getApellidos(){ return apellidos; } public void setApellidos(String apellidos){ this.apellidos=apellidos; } public int getEdad(){ return edad; } public void setEdad(int edad){ this.edad=edad; } public String getAficiones(){ return aficiones; } public void setAficiones(String aficiones){ this.aficiones=aficiones; } @Override public String toString(){ return "\nPersona{id:"+id+", nombre:"+nombre +", apellidos:"+apellidos+ ", edad:"+edad+", aficiones:"+aficiones+"}"; } @Override public int compareTo(Persona per){ if(this.id == per.id) return 0; else if(this.id > per.id) return 1; else return -1; } } class Empleado extends Persona { private String puesto; private int horas; private double salario; public Empleado(){} public Empleado(int id, String nombre, String apellidos, int edad, String aficiones, String puesto, int horas, double salario) { super(id, nombre,apellidos, edad, aficiones); this.puesto = puesto; this.horas = horas; this.salario = salario; } public Empleado(String puesto, int horas, double salario) { super(); this.puesto = puesto; this.horas = horas; this.salario = salario; } public Empleado(String puesto){ this(puesto, 0, 0.0); } public Empleado(int horas){ this("",horas, 0.0); } public Empleado(double salario){ this("", 0, salario); } public String getPuesto() { return puesto; } public void setPuesto(String puesto) { this.puesto = puesto; } public int getHoras() { return horas; } public void setHoras(int horas) { this.horas = horas; } public double getSalario() { return salario; } public void setSalario(double salario) { this.salario = salario; } @Override public String toString() { return super.toString()+"::Empleado [puesto=" + puesto + ", horas=" + horas + ", salario=" + salario + "]"; } }
Ejemplos de Lambdas en Java 8

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.