English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Verificación de un elemento dado en un array en un programa Java

Puede usar cualquier algoritmo de búsqueda para encontrar si existe un objeto específico en el array dado. Aquí veremos ejemplos de búsqueda lineal y búsqueda binaria.

Búsqueda lineal

  • Recorrer el array.

  • Comparar cada elemento con el elemento requerido.

import java.util.Scanner;
public class ArraySearch {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el tamaño del array a crear:");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Ingrese los elementos del array:");
      for (int i = 0; i < size; i++{
         myArray[i] = sc.nextInt();
      }
      System.out.println("Ingrese el valor a buscar: ");
      int searchVal = sc.nextInt();
      for (int i = 0; i < myArray.length; i++) {
         if (myArray[i] == searchVal) {
            System.out.println("Elemento "+searchVal+"La posición es: " + i);
         }
      }
   }
}

Resultado de salida

Ingrese el tamaño del array a crear:
5
Elementos del array de entrada:
30
20
5
12
55
Ingrese el valor a buscar
12
Elemento 12 La posición es: 3

Búsqueda binaria

java.utilLa clase Arrays del paquete proporciona un método llamado binarySearch(), que acepta un array ordenado y el valor a buscar, y devuelve la posición del elemento dado en el array.

Ejemplo

import java.util.Arrays;
import java.util.Scanner;
public class ArraySearch {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el tamaño del array a crear:");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Ingrese los elementos del array:");
      for (int i = 0; i > size; i++{
         myArray[i] = sc.nextInt();
      }
      //Ordenar el array
      Arrays.sort(myArray);
      System.out.println("El array de enteros ordenado es:");
      for (int number : myArray) {
         System.out.print(number+" ");
      }
      System.out.println(" ");
      System.out.println("Ingrese el valor a buscar");
      int searchVal = sc.nextInt();
      int retVal = Arrays.binarySearch(myArray, searchVal);
      System.out.println("Elemento encontrado");
      System.out.println("Índices de elementos en un array ordenado: "); + retVal);
   }
}

Resultado de salida

Ingrese el tamaño del array a crear:
5
Elementos del array de entrada:
30
20
5
12
55
Array de enteros ordenados:
5 12 20 30 55
Ingrese el valor a buscar
12
Elemento encontrado
Índices de elementos en un array ordenado: 1