Java.util.function.DoublePredicate interface in Java with Examples

The DoublePredicate interface was introduced in JDK 8. This interface is packaged in java.util.function package. It operates on a Double object and returns a predicate value based on a condition. It is a functional interface and thus can be used in lambda expression also.

public interface DoublePredicate

Methods

  1. test(): This function evaluates a conditional check on the double value, and returns a boolean value denoting the outcome.

    boolean test(double value)
    
  2. and(): This function applies the AND operation on the current object and the object recieved as argument, and returns the newly formed predicate. This method has a default implementation.

    default DoublePredicate and(DoublePredicate other)
    
  3. negate(): This function returns the inverse of the current predicate i.e reverses the test condition. This method has a default implementation.

    default DoublePredicate negate()
    
  4. or(): This function applies the OR operation on the current object and the object recieved as argument, and returns the newly formed predicate. This method has a default implementation.

    default DoublePredicate or(DoublePredicate other)
    

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java example to demonstrate DoublePredicate interface
  
import java.util.function.DoublePredicate;
  
public class DoublePredicateDemo {
    public static void main(String[] args)
    {
        // DoublePredicate to check square
        // of x is less than 100
        DoublePredicate db
            = (x) -> { return x * x < 100.0; };
        System.out.println("100 is less than 100 "
                           + db.test(10));
  
        DoublePredicate db3;
        // Test condition reversed
        db.negate();
        System.out.println("100 is greater than 100 "
                           + db.test(10));
  
        DoublePredicate db2 = (x) ->
        {
            double y = x * x;
            return y >= 36 && y < 1000;
        };
  
        // Test condition ANDed
        // with another predicate
        db3 = db.and(db2);
        System.out.println("81 is less than 100 "
                           + db3.test(9));
  
        db3 = db.or(db2);
        // Test condition ORed with another predicate
        System.out.println("49 is greater than 36"
                           + " and less than 100 "
                           + db3.test(7));
    }
}

chevron_right


Output:

100 is less than 100 false
100 is greater than 100 false
81 is less than 100 true
49 is greater than 36 and less than 100 true

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/function/DoublePredicate.html



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.