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

Verifica degli elementi in un array in un programma Java

Puoi utilizzare qualsiasi algoritmo di ricerca per trovare un oggetto specifico nell'array fornito. In questo esempio, vedremo i casi di ricerca lineare e di ricerca binaria.

Ricerca lineare

  • Esplora l'array.

  • Confronta ogni elemento con l'elemento richiesto.

import java.util.Scanner;
public class ArraySearch {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci la dimensione dell'array da creare:");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Inserisci gli elementi dell'array:");
      for (int i = 0; i < size; i++) {
         myArray[i] = sc.nextInt();
      }
      System.out.println("Inserisci il valore da cercare: ");
      int searchVal = sc.nextInt();
      for (int i = 0; i < myArray.length; i++) {
         if (myArray[i] == searchVal) {
            System.out.println("L'indice dell'elemento " + searchVal + " è: " + i);
         }
      }
   }
}

Risultato di output

Inserisci la dimensione dell'array da creare:
5
Inserisci gli elementi dell'array:
30
20
5
12
55
Inserisci il valore da cercare
12
L'indice dell'elemento 12 è: 3

Ricerca binaria

java.utilLa classe Arrays del pacchetto java.util fornisce un metodo chiamato binarySearch(), che accetta un array ordinato e il valore da cercare, e restituisce l'indice dell'elemento specificato nell'array.

Esempio

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("Inserisci la dimensione dell'array da creare:");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Inserisci gli elementi dell'array:");
      for (int i = 0; i > size; i++) {
         myArray[i] = sc.nextInt();
      }
      //Ordina l'array
      Arrays.sort(myArray);
      System.out.println("L'array int ordinato è:");
      for (int number : myArray) {
         System.out.print(number+"\n");
      }
      System.out.println("\n");
      System.out.println("Inserisci il valore da cercare");
      int searchVal = sc.nextInt();
      int retVal = Arrays.binarySearch(myArray, searchVal);
      System.out.println("Element trovato");
      System.out.println("Ordina gli indici degli elementi dell'array: " + retVal);
   }
}

Risultato di output

Inserisci la dimensione dell'array da creare:
5
Inserisci gli elementi dell'array:
30
20
5
12
55
Array ordinato di int:
5 12 20 30 55
Inserisci il valore da cercare
12
Elemento trovato
Ordina gli indici degli elementi dell'array: 1