Thursday, July 25, 2019

Java 8 Stream allMatch() Method

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.


Java 8 Stream allMatch()






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.

  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

Stream allMatch() Example 2

Creating Employee Class


public 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");

List empList = 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