Utilisation du prédicat Java 8

Créer une prêche Java 8, c’est l’une des opérations que nous ferons le plus lorsque nous travaillons avec Lambda et des expressions de flux dans Java 8. Qu’est-ce qu’un prédicat? , Un prédicat est une interface fonctionnelle qui définit une condition selon laquelle un certain objet doit être conforme. Par exemple, une personne de plus de 20 ans ?.

Java 8 Prédicate Impl

Le prédicat a une seule méthode appelée méthode appelée test qui reçoit l’objet et les chèques s’il rencontre la condition. Nous allons construire sur exemple en nous soutenant dans la classe de la personne.

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;}}

Nous allons construire une liste de personnes pour appliquer ultérieurement un prédicat à ce sujet .

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);}}

Nous allons enfin convertir la liste en un flux de données et nous le voyagerons:

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

Le résultat sera

Pepe

Pepe

Java 8 Prêche

Nous avons parcouru la liste, nous allons créer un prédicat responsable de la définition d’une condition qui permet de filtrer la liste.

Predicate<Persona> predicadoNombre = new Predicate<Persona>() {@Override public boolean test(Persona p) { return p.getNombre().equals("pepe"); }};

Dans ce cas, nous venons de créer un prédicat qui ne rencontrera que des personnes qui ne rencontreront que des personnes qui ne rencontreront que des personnes sont appelés « pepe ». Nous utilisons le filtre un niveau de flux de fonction pour réussir cet objet prêché et force qu’il est filtré sur la base de la condition que le prédicat définit.

 lista.stream().filter(predicadoNombre).forEach(p -> System.out.println(p.getApellidos()));

Le résultat sur l’écran sera:
Java8PredicateFilter

<41d1C11AA "> Java8PredicateFilter

>

Le flux a été soutenu par le prédicat pour filtrer et rester avec des personnes appelées « Pepe ». Rappelez-vous que des interfaces fonctionnelles peuvent être considérées comme des expressions Lambda et leur gestion est plus simple.

Java 8 Prédicat Lambda

est temps de convertir Notre Java 8 prêchage une expression de Lambda pour gagner de la clarté:

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

Le résultat sera identique:

Java8PredicateFilter

<41d1C11AA "> Java8PredicateFilter

Les prédicats Java 8 sont inhaluts

Autres articles connexes: Java Lambda Java Streams

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *