Verifique que un array contenga un valor particular en Java
-
Verifique que un array contenga un valor particular usando el método
array.contains()
en Java - Verifique que un array contenga un valor particular mediante secuencias de Java 8
-
Verifique que un array contenga un valor particular usando un bucle simple
for
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 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