IntPredicate Interface is a part of the java.util.function package which is introduced in Java 8. It is an in-built Functional Interface. This function expects one int-valued argument as input and produces a boolean value as an output. As it is a functional interface, it can be used assignment target for a lambda expression or method reference. In this post, we are going to see several implementations of IntPredicate Interface by using different examples.
IntPredicate Interface in Java 8 with Examples...!!! Click To Tweet
Look at IntPredicate Javadoc description below:
IntPredicate Interface contains 4 methods:
test
and
or
negate
Let’s discuss these methods:
test
This method evaluates predicate on the given argument and produces a boolean result.
1 | boolean test(int value); |
and
This method returns a composed predicate that represents a short-circuiting logical AND of this predicate and another. When evaluating the composed predicate, if this predicate is false, then the other predicate is not evaluated.
1 2 3 4 | default IntPredicate and(IntPredicate other) { Objects.requireNonNull(other); return (value) -> test(value) && other.test(value); } |
or
This method returns a composed predicate that represents a short-circuiting logical OR of this predicate and another. When evaluating the composed predicate, if this predicate is true, then the other predicate is not evaluated.
1 2 3 4 | default IntPredicate or(IntPredicate other) { Objects.requireNonNull(other); return (value) -> test(value) || other.test(value); } |
negate
This method returns a predicate that represents the logical negation of this predicate.
1 2 3 | default IntPredicate negate() { return (value) -> !test(value); } |
Let’s understand above-mentioned methods through various examples:
Example 1. ‘test’ method
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import java.util.function.IntPredicate; public class IntPredicateInterfaceJava8Example1 { public static void main(String[] args) { System.out.println("IntPredicate Interface - Example 1"); IntPredicate intPredicateObj = i -> i == -10; System.out.println("Are numbers matching: " + intPredicateObj.test(10)); System.out.println("Are numbers matching: " + intPredicateObj.test(-10)); } } |
Example 2. ‘and’, ‘or’ and ‘negate’ methods
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.function.IntPredicate; public class IntPredicateInterfaceJava8Example2 { public static void main(String[] args) { System.out.println("IntPredicate Interface - Example 2"); IntPredicate intPredicateObj1 = i -> i >= 10; IntPredicate intPredicateObj2 = i -> i == 5; IntPredicate intPredicateObj3 = i -> i < 70; //and operation System.out.println("Result 1: " + intPredicateObj1.and(intPredicateObj2).test(15)); //or operation System.out.println("Result 2: " + intPredicateObj1.or(intPredicateObj2).or(intPredicateObj3).test(15)); //negate operation System.out.println("Result 3: " + intPredicateObj3.negate().test(10)); } } |
IntPredicate Interface in Java 8 with Examples...!!! Click To Tweet
Do you like this Post? – then check my other helpful posts:
- Passing Function as a Parameter in another Method in Java 8
- Collection sorting using Lambda in Java 8
- Supplier Interface in Java 8 with Examples