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.
Stream stream = 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.