Thursday, July 4, 2024
HomeLanguagesJavaJava.util.function.DoublePredicate interface in Java with Examples

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 
 

  • test(): This function evaluates a conditional check on the double value, and returns a boolean value denoting the outcome. 
boolean test(double value)
  • and(): This function applies the AND operation on the current object and the object received as argument, and returns the newly formed predicate. This method has a default implementation. 
default DoublePredicate and(DoublePredicate other)
  • 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()
  • or(): This function applies the OR operation on the current object and the object received as argument, and returns the newly formed predicate. This method has a default implementation. 
default DoublePredicate or(DoublePredicate other)

Example:  

Java




// 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));
    }
}


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
 

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments