Stream allMatch() Method
In this tutorial, We will see the example program on Java 8 Stream allMatch() method. allMatch() method checks whether all elements of Stream is matched to the given predicate then it returns true. Otherwise returns false.
This is called Terminal Operation because this is executed at the end of the stream. That means Stream is closed after the execution of allMatch() method.
Stream allMatch() Syntax
boolean allMatch(Predicate<? super T> predicate)
Now, we will see the syntax.
boolean allMatch (Predicate<? super T> predicate)
Note: If the stream is empty then true is returned and the predicate is not evaluated.
Predicate is a built-in Functional Interface.
Stream allMatch() Example 1
import java.util.function.Predicate; import java.util.stream.Stream; public class AllMatchExample { public static void main(String[] args) { // Predicate to find the number are even. Streamstream = Stream.of(2, 4, 6, 8, 10); Predicate p1 = i -> i % 2 == 0; boolean isAllMatch = stream.allMatch(p1); System.out.println("isAllMatch for even numbers : " + isAllMatch); // Predicate to find the number are even. Stream oddStream = Stream.of(2, 4, 6, 8, 10); Predicate p2 = i -> i % 2 == 1; isAllMatch = oddStream.allMatch(p2); System.out.println("isAllMatch for odd numbers : " + isAllMatch); } }
Output:
isAllMatch for even numbers : true isAllMatch for odd numbers : false
Stream allMatch() Example 2
Creating Employee Classpublic class Employee { private int id; private String name; public Employee(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } // Overrding toString method. @Override public String toString() { return "Employee [id=" + id + ", name=" + name + "]"; } }
Usage of allMatch() method:
Employee employee1 = new Employee(1000, "Alan Joel"); Employee employee2 = new Employee(2000, "Jhon Millon"); ListempList = new ArrayList<>(); empList.add(employee1); empList.add(employee2); Predicate nameLengthPrediacate = e -> e.getName().length() > 0; boolean namelength = empList.stream().allMatch(nameLengthPrediacate); System.out.println("namelength allmatch : " + namelength); Predicate namePrediacate = e -> e.getName().contains("Jhon"); boolean nameMatch = empList.stream().allMatch(namePrediacate); System.out.println("nameMatch allmatch : " + nameMatch);
Output:
namelength allmatch : true nameMatch allmatch : false
No comments:
Post a Comment