1. Introduction
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.
Predicate is nothing but a condition.
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.
Java 8 Stream allMatch()
2. 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.
3. 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
4. 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
5. Conclusion
In this article, you have seen how to check whether all values of list are matching to a particular condition using Stream allMatch() method.
No comments:
Post a Comment
Please do not add any spam links in the comments section.