Transmita allMatch() en Java con ejemplos

Stream allMatch(Predicate predicate) devuelve si todos los elementos de esta secuencia coinciden con el predicado proporcionado. Puede que no evalúe el predicado en todos los elementos si no es necesario para determinar el resultado. Esta es una operación de terminal de cortocircuito. Una operación terminal está en cortocircuito si, cuando se le presenta una entrada infinita, puede terminar en un tiempo finito.
Sintaxis:

boolean allMatch(Predicate<? super T> predicate)

Where, T is the type of the input to the predicate
and the function returns true if either all elements
of the stream match the provided predicate or 
the stream is empty, otherwise false.

Nota: si la secuencia está vacía, se devuelve verdadero y el predicado no se evalúa. Una vez que se realiza cualquier función usando la transmisión, no se puede volver a usar hasta que se reinicialice.

Ejemplo 1: función allMatch() para verificar si todos los elementos son divisibles por 3.

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.*;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a list of Integers
    List<Integer> list = Arrays.asList(3, 4, 6, 12, 20);
      
    // Check if all elements of stream
    // are divisible by 3 or not using 
    // Stream allMatch(Predicate predicate)
    boolean answer = list.stream().allMatch(n-> n % 3 ==0);
      
    // Displaying the result
    System.out.println(answer);
}
}

Producción :

false

Ejemplo 2: función allMatch() para comprobar si las strings tienen una longitud superior a 2.

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.stream.Stream;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a Stream of Strings
    Stream<String> stream = Stream.of("Geeks", "for", 
                       "GeeksQuiz", "GeeksforGeeks");
          
    // Check if all elements of stream
    // have length greater than 2 using
    // Stream allMatch(Predicate predicate)
    boolean answer = stream.allMatch(str -> str.length() > 2);
      
    // Displaying the result
    System.out.println(answer);
}
}

Producción :

true

Ejemplo 3: función allMatch() para verificar si todas las strings tienen un carácter en mayúsculas en el primer índice.

// Java code for Stream allMatch
// (Predicate predicate) to check whether 
// all elements of this stream match 
// the provided predicate.
import java.util.stream.Stream;
  
class GFG {
      
    // Driver code
    public static void main(String[] args) {
          
    // Creating a Stream of Strings
    Stream<String> stream = Stream.of("Geeks", "for", 
                       "GeeksQuiz", "GeeksforGeeks");
          
    // Check if Character at 1st index is 
    // UpperCase in all strings or not using
    // Stream allMatch(Predicate predicate)
    boolean answer = stream.allMatch(str-> Character
                       .isUpperCase(str.charAt(1)));
      
    // Displaying the result
    System.out.println(answer);
}
}

Producción :

false

Ejemplo 4: función múltiple realizada usando la misma secuencia

// In case we want multiple function to be done.
  
import java.util.stream.IntStream;
  
public class MultipleStreamFunction {
  
    public static void main(String[] args) {
  
        final String sample = "Om Sarve Bhavantu Sukhinah";
  
        // converting to Ascii
        IntStream intstreams = sample.chars();
  
        // All match to check if all Ascii value greater then 100
        boolean answer = intstreams.allMatch(c -> c > 100);
        System.out.println(answer);
  
        // Need to initialize the stream again
        // to avoid runtime exception
        intstreams = sample.chars();
        // All match to check if all Ascii value greater then 31
  
        answer = intstreams.allMatch(c -> c > 31);
        System.out.println(answer);
  
    }
}

Producción :

false
true

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall 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 *