Verifique que un array contenga un valor particular en Java

Rashmi Patidar 12 octubre 2023
  1. Verifique que un array contenga un valor particular usando el método array.contains() en Java
  2. Verifique que un array contenga un valor particular mediante secuencias de Java 8
  3. Verifique que un array contenga un valor particular usando un bucle simple for
Verifique que un array contenga un valor particular en Java

un array es una colección sistemática de elementos dispuestos en un orden definido. Internamente, los elementos del array se almacenan en ubicaciones de memoria contiguas.

Hay varias formas de buscar un elemento en un array. Varios métodos conducen a diferentes tiempos y complejidad en ellos. A continuación se enumeran algunas formas de buscar un elemento en un array.

Verifique que un array contenga un valor particular usando el método array.contains() en Java

En el siguiente bloque de código, necesitamos crear una instancia de un array arr con algunos valores predefinidos. Ahora, inicialice la cadena que tenemos que buscar.

Arrays es una clase que tiene varios métodos para manipular los arrays. Esta clase contiene campos y métodos de fábrica estáticos, y estos son útiles para buscar y ordenar elementos en el array.

El método asList() es el método estático de la clase Arrays. Devuelve una lista fija del array especificada tomada de los parámetros.

contains() es un método en la interfaz List. Toma un elemento como parámetro y comparamos este argumento con los elementos presentes en la lista. Devuelve el valor booleano true si el elemento especificado existe en la lista y devuelve false en cualquier caso. El método arroja ClassCastException si el tipo del elemento especificado es incompatible con esta lista y NullPointerException si el valor especificado es nulo y esta lista no permite un valor nulo.

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    System.out.println(Arrays.asList(arr).contains(stringToSearch));
  }
}

La salida del programa anterior es la siguiente.

true

Verifique que un array contenga un valor particular mediante secuencias de Java 8

En el bloque de código anterior, las dos primeras líneas son similares a las del primer código. Aquí hemos utilizado el método stream de la clase Arrays para crear un flujo de matrices. Este método devuelve una secuencia secuencial con el array especificada como origen. La clase Stream tiene una función denominada anyMatch(). El método toma un predicate como entrada.

El Predicate es una interfaz funcional que toma una función de un solo argumento y devuelve un valor booleano. Contiene un único método test(T t) que evalúa el predicado en el argumento dado. Devuelve true si algún elemento del flujo coincide con el predicado proporcionado, de lo contrario un valor false.

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    System.out.println(Arrays.stream(arr).anyMatch(s -> s.equals(stringToSearch)));
  }
}

La salida del código anterior es la misma que la del primer código.

Verifique que un array contenga un valor particular usando un bucle simple for

En el siguiente bloque de código, usamos el bucle tradicional for para iterar sobre matrices. El bucle for se inicializa en expression1 con un valor de contador como 0. Ahora el valor del contador se compara con la longitud de un array. Si la variable de contador es más pequeña que la longitud del array definida, entonces se ejecutará la declaración dentro del bloque de código.

Dentro del bloque for, comparamos cada elemento de un array utilizando el método equals de la clase String. Si el estado se evalúa como verdadero, entonces la palabra clave break se utiliza para interrumpir la ejecución del bucle for. Si no se encuentra, el código se ejecutará tantas veces como el número de elementos del array.

Después del bucle, una declaración de impresión evaluará el valor de la variable de estado como true si se busca un elemento en la lista; de lo contrario, imprimirá el valor false.

package findInList;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    boolean status = false;
    for (int i = 0; i < arr.length; i++) {
      status = arr[i].equals(stringToSearch);
      if (status)
        break;
    }
    System.out.println(status);
  }
}

La salida es nuevamente la misma que la que se dio en el primer código.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Artículo relacionado - Java Array