Utilizarea predicatei Java 8

Creați o predicare Java 8, este una dintre operațiile pe care le vom face cel mai mult când lucrăm cu lambda și expresiile curente în Java 8. Ce este un predicat? , Un predicat este o interfață funcțională care definește o condiție în care un anumit obiect trebuie să respecte. De exemplu, este o persoană de peste 20 de ani?.

Java 8 predicat impl

predicatul are o singură metodă numită test care primește obiectul și verificările dacă îndeplinește condiția. Vom construi, de exemplu, prin sprijinirea noastră în clasa persoanei.

package com.arquitecturajava;public class Persona {private String nombre;private String apellidos;private int edad;public String getNombre() {return nombre;}public void setNombre(String nombre) {this.nombre = nombre;}public Persona(String nombre, String apellidos, int edad) {super();this.nombre = nombre;this.apellidos = apellidos;this.edad = edad;}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;}}

Suntem să construim o listă de oameni pentru a aplica mai târziu un predicat despre el .

public class Principal {public static void main(String args) {List<Persona> lista = new ArrayList<>();Persona p1 = new Persona("pepe", "perez", 20);Persona p2 = new Persona("angel", "sanchez", 30);Persona p3 = new Persona("pepe", "blanco", 40);lista.add(p1);lista.add(p2);lista.add(p3);}}

În cele din urmă vom converti lista într-un flux de date și vom călători:

lista.stream().forEach(new Consumer<Persona>() {@Overridepublic void accept(Persona p) {System.out.println(p.getNombre());}});

Rezultatul va fi

pepe
Angel
PEPE

Java 8 Preoch

Am călătorit lista, vom face Creați un predicat care este responsabil pentru definirea unei afecțiuni care permite filtrarea listei.

DIV ID = „EC8B2DBD8C”>

În acest caz, tocmai am creat un predicat care să întâlnească numai persoanele care se numesc „pepe”. Folosim filtrul Un nivel de flux de funcții pentru a trece acest obiect predicat și forțați că este filtrat pe baza condiției ca predicatul să definească.

DIV ID = „30BF6E5D86″>

Rezultatul de pe ecran va fi:
java8predicatefilter

java8predicatefilter

fluxul a fost susținut de predicatul pentru a filtra și a rămâne cu oameni numiți „Pepe”. Amintiți-vă că interfețele funcționale pot fi văzute ca expresii lambda și managementul lor este mai simplu.

java 8 predicat lambda

este timpul de conversie Java 8 predicând o expresie lambda pentru a câștiga claritate:

lista.stream().filter(p -> p.getNombre().equals("pepe")).forEach(p -> System.out.println(p.getApellidos()));

Rezultatul va fi identic:

Java8predatefilter

IV id = „41dd7c11aa” Java8predatefilter

Lambda Java Streams

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *