Check number primality using Java 8 Streams
The canonical way to check if a number is prime in Java uses a loop. It looks like this:
public static boolean isPrime(long x) { for (long n = 2; n <= Math.sqrt(x); n++) { if (x % n == 0) { return false; } } return true; }
There is a more streamlined and efficient way of doing this using Streams. It looks like this:
public static boolean isPrime(long x) { return LongStream.rangeClosed(2, (long)(Math.sqrt(x))) .allMatch(n -> x % n != 0); }
Hope this helps!
Comments
Comments powered by Disqus