Interfaz Java.util.function.BiPredicate en Java con ejemplos

La interfaz BiPredicate<T, V> se introdujo en JDK 8 . Esta interfaz está empaquetada en el paquete java.util.function . Opera en dos objetos y devuelve un valor de predicado basado en esa condición. Es una interfaz funcional y, por lo tanto, también se puede usar en la expresión lambda .

public interface BiPredicate<T, V>

Métodos:

  1. test() : esta función evalúa una verificación condicional en los dos objetos y devuelve un valor booleano que indica el resultado.
    boolean test(T obj, V obj1)
  2. and() : esta función aplica la operación AND en el objeto actual y el objeto recibido como argumento, y devuelve el predicado recién formado. Este método tiene una implementación predeterminada.
    default BiPredicate<T, V> and(BiPredicate<? super T, ? super V> other)
  3. negate() : Esta función devuelve el inverso del predicado actual, es decir, invierte la condición de prueba. Este método tiene una implementación predeterminada.
    default BiPredicate<T, V> negate() 
  4. or() : esta función aplica la operación OR en el objeto actual y el objeto recibido como argumento, y devuelve el predicado recién formado. Este método tiene una implementación predeterminada.
    default BiPredicate<T, V> or(BiPredicate<? super T, ? super V> other)
  5. Ejemplo:  

    Java

    // Java example to demonstrate BiPredicate interface
      
    import java.util.function.BiPredicate;
      
    public class BiPredicateDemo {
        public static void main(String[] args)
        {
            // Simple predicate for checking equality
            BiPredicate<Integer, String> biPredicate = (n, s) ->
            {
                if (n == Integer.parseInt(s))
                    return true;
                return false;
            };
      
            System.out.println(biPredicate.test(2, "2"));
      
            // Predicate for checking greater than
            BiPredicate<Integer, String> biPredicate1 = (n, s) ->
            {
                if (n > Integer.parseInt(s))
                    return true;
                return false;
            };
      
            // ANDing the two predicates
            BiPredicate<Integer, String> biPredicate2
                = biPredicate.and(biPredicate1);
            System.out.println(biPredicate2.test(2, "3"));
      
            // ORing the two predicates
            biPredicate2 = biPredicate.or(biPredicate1);
            System.out.println(biPredicate2.test(3, "2"));
      
            // Negating the predicate
            biPredicate2 = biPredicate.negate();
            System.out.println(biPredicate2.test(3, "2"));
        }
    }
    Producción: 

    true
    false
    true
    true

     

    Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/function/BiPredicate.html

Publicación traducida automáticamente

Artículo escrito por CharchitKapoor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *