En este tutorial veremos el ejemplo de Java 8 Stream método anyMatch (). Este método devuelve verdadero si alguno de los elementos Stream coincide con el predicado especificado.

Veamos un ejemplo para comprender el uso del método anyMatch ().

Ejemplo: método anyMatch () de Java 8 Stream

import java.util.List;
import java.util.function.Predicate;
import java.util.ArrayList;
class Student{
   int stuId;
   int stuAge; 
   String stuName; 
   Student(int id, int age, String name){ 
      this.stuId = id;  
      this.stuAge = age; 
      this.stuName = name; 
   } 
   public int getStuId() { 
      return stuId; 
   } 
   public int getStuAge() { 
      return stuAge; 
   }
   public String getStuName() { 
      return stuName; 
   } 
   public static List<Student> getStudents(){        
       List<Student> list = new ArrayList<>();        
       list.add(new Student(11, 28, "Lucy"));        
       list.add(new Student(28, 27, "Kiku"));        
       list.add(new Student(32, 30, "Dani"));        
       list.add(new Student(49, 27, "Steve"));       
       return list;    
   }
}
public class Example {   
   public static void main(String[] args) {
      Predicate<Student> p1 = s -> s.stuName.startsWith("S");
      Predicate<Student> p2 = s -> s.stuAge < 28 && s.stuName.startsWith("Z");       
      List<Student> list = Student.getStudents();

      /* anyMatch() method checks whether any Stream element matches
       * the specified predicate
       */
      boolean b3 = list.stream().anyMatch(p1);
      System.out.println(b3);
      boolean b4 = list.stream().anyMatch(p2);
      System.out.println(b4);
   }
}

Producción:

true
false

En el ejemplo anterior tenemos dos predicados, el predicado p1 tiene la condición de que el nombre del estudiante comience con la letra “S” y el predicado p2 tiene dos condiciones de que el nombre del estudiante comience con la letra “Z” y su edad debe ser menor que 28.

Cuando pasamos el predicado como argumento al método anyMatch (), itera sobre los elementos de la secuencia para encontrar la coincidencia. Dado que coincide con el predicado p1 (el nombre del estudiante “Steve” comienza con “S”), devuelve verdadero; sin embargo, ninguno de los elementos coincide con el predicado p2, por lo que el método anyMatch () devuelve falso para p2.

leer  Interfaces funcionales de Java

Artículos Relacionados:

  1. Java 8: ejemplos de recopiladores de secuencias
  2. Java 8: filtra valores nulos de una secuencia
  3. Java 8: ejemplos de filtros de flujo
  4. Expresiones Java Lambda

Por avivcas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *