Java Stream How to - Use lambda to check if a integer is a prime number








Question

We would like to know how to use lambda to check if a integer is a prime number.

Answer

import java.util.function.IntPredicate;
import java.util.stream.IntStream;
/*w  w  w. j  a  v  a2s.  c om*/
public class Main {
  public static void main(String[] args) {
    System.out.println(isPrime(123));
  }

  private static boolean isPrime(int number) {
    IntPredicate isDivisible = index -> number % index == 0;
    return number > 1 && IntStream.range(2, number - 1).noneMatch(isDivisible);
  }
}

The code above generates the following result.