Dada una array, la tarea es escribir un programa Java para verificar si un elemento específico está presente en esta array o no.
Ejemplos:
Input: arr[] = [5, 1, 1, 9, 7, 2, 6, 10], key = 7 Output: true Input: arr[] = [-1, 1, 5, 8], key = -2 Output: false
Una array es una estructura de datos que contiene un grupo de elementos. Por lo general, estos elementos son todos del mismo tipo de datos, como un número entero o una string. Las arrays se usan comúnmente en programas de computadora para organizar datos de modo que un conjunto relacionado de valores pueda ordenarse o buscarse rápidamente. Todos los elementos de la array se almacenan en ubicaciones de memoria contiguas.
Enfoques
Existen numerosos enfoques para verificar si un elemento específico está presente en esta array o no en Java. Estos son –
- Uso del método de búsqueda lineal
- Uso del método de búsqueda binaria
- Usando el método List.contains()
- Usando el método Stream.anyMatch()
1. Usando el método de búsqueda lineal :
En esto, la lista o array se recorre secuencialmente y se verifica cada elemento.
Sintaxis:
for (int element : arr) { if (element == toCheckValue) { return true; } }
Ejemplo:
Java
// Java program to check whether // an element is present in array or not import java.util.Arrays; import java.util.stream.IntStream; class GFG { // Function return true if given element // found in array private static void check(int[] arr, int toCheckValue) { // check if the specified element // is present in the array or not // using Linear Search method boolean test = false; for (int element : arr) { if (element == toCheckValue) { test = true; break; } } // Print the result System.out.println("Is " + toCheckValue + " present in the array: " + test); } public static void main(String[] args) { // Get the array int arr[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // Get the value to be checked int toCheckValue = 7; // Print the array System.out.println("Array: " + Arrays.toString(arr)); // Check if this value is // present in the array or not check(arr, toCheckValue); } }
Array: [5, 1, 1, 9, 7, 2, 6, 10] Is 7 present in the array: true
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(1)
2. Uso del método de búsqueda binaria :
En esto, busque una array ordenada dividiendo repetidamente el intervalo de búsqueda por la mitad. Comience con un intervalo que cubra todo el arreglo. Si el valor de la clave de búsqueda es menor que el elemento en el medio del intervalo, reduzca el intervalo a la mitad inferior. De lo contrario, redúcelo a la mitad superior. Verifique repetidamente hasta que se encuentre el valor o el intervalo esté vacío.
En este ejemplo, el método Arrays.binarySearch() se usa para la búsqueda binaria.
Sintaxis:
public static int binarySearch(data_type arr, data_type key)
Ejemplo:
Java
// Java program to check whether // an element is present in array or not import java.util.Arrays; import java.util.stream.IntStream; class GFG { // Function return true if given element // found in array private static void check(int[] arr, int toCheckValue) { // sort given array Arrays.sort(arr); // check if the specified element // is present in the array or not // using Binary Search method int res = Arrays.binarySearch(arr, toCheckValue); boolean test = res > 0 ? true : false; // Print the result System.out.println("Is " + toCheckValue + " present in the array: " + test); } public static void main(String[] args) { // Get the array int arr[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // Get the value to be checked int toCheckValue = 7; // Print the array System.out.println("Array: " + Arrays.toString(arr)); // Check if this value is // present in the array or not check(arr, toCheckValue); } }
Array: [5, 1, 1, 9, 7, 2, 6, 10] Is 7 present in the array: true
Complejidad del tiempo: O(nlog(n))
Espacio Auxiliar: O(1)
3. Usando el método List.contains() :
El método List contains() en Java se usa para verificar si el elemento especificado existe en la lista dada o no.
Sintaxis:
public boolean contains(Object)
donde objeto-elemento a buscar.
Ejemplo:
Java
// Java program to check whether // an element is present in array or not import java.util.Arrays; class GFG { // Function return true if given element // found in array private static void check(Integer[] arr, int toCheckValue) { // check if the specified element // is present in the array or not // using contains() method boolean test = Arrays.asList(arr) .contains(toCheckValue); // Print the result System.out.println("Is " + toCheckValue + " present in the array: " + test); } public static void main(String[] args) { // Get the array Integer arr[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // Get the value to be checked int toCheckValue = 7; // Print the array System.out.println("Array: " + Arrays.toString(arr)); // Check if this value is // present in the array or not check(arr, toCheckValue); } }
Array: [5, 1, 1, 9, 7, 2, 6, 10] Is 7 present in the array: true
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(1)
4. Usando el método Stream.anyMatch() :
Stream anyMatch(Predicate predicate) devuelve si algún elemento de esta secuencia coincide con el predicado proporcionado. Puede que no evalúe el predicado en todos los elementos si no es necesario para determinar el resultado.
Sintaxis:
boolean anyMatch(Predicate<T> predicate) Where T is the type of the input to the predicate and the function returns true if any elements of the stream match the provided predicate, otherwise false.
Ejemplo 1: Uso del método Stream.of() para crear Stream
Java
// Java program to check whether // an element is present in array or not import java.util.Arrays; import java.util.stream.IntStream; class GFG { // Function return true if given element // found in array private static void check(int[] arr, int toCheckValue) { // check if the specified element // is present in the array or not // using anyMatch() method boolean test = IntStream.of(arr) .anyMatch(x -> x == toCheckValue); // Print the result System.out.println("Is " + toCheckValue + " present in the array: " + test); } public static void main(String[] args) { // Get the array int arr[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // Get the value to be checked int toCheckValue = 7; // Print the array System.out.println("Array: " + Arrays.toString(arr)); // Check if this value is // present in the array or not check(arr, toCheckValue); } }
Array: [5, 1, 1, 9, 7, 2, 6, 10] Is 7 present in the array: true
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(1)
Ejemplo 2: Uso del método Arrays.stream() para crear Stream
Java
// Java program to check whether // an element is present in array or not import java.util.Arrays; import java.util.stream.IntStream; class GFG { // Function return true if given element // found in array private static void check(int[] arr, int toCheckValue) { // check if the specified element // is present in the array or not // using anyMatch() method boolean test = IntStream.of(arr) .anyMatch(x -> x == toCheckValue); // Print the result System.out.println("Is " + toCheckValue + " present in the array: " + test); } public static void main(String[] args) { // Get the array int arr[] = { 5, 1, 1, 9, 7, 2, 6, 10 }; // Get the value to be checked int toCheckValue = 7; // Print the array System.out.println("Array: " + Arrays.toString(arr)); // Check if this value is // present in the array or not check(arr, toCheckValue); } }
Array: [5, 1, 1, 9, 7, 2, 6, 10] Is 7 present in the array: true
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por 29AjayKumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA