Programma Java per verificare se un array contiene un determinato valore

In questo programma imparerai a controllare se un array contiene un dato valore in Java.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Array Java
  • Tipi di dati Java (primitivi)

Esempio 1: verificare se Int Array contiene un determinato valore

 public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Produzione

 3 si trova.

Nel programma precedente, abbiamo un array di numeri interi memorizzati nella variabile num. Allo stesso modo, il numero da trovare viene memorizzato in toFind.

Ora, usiamo un ciclo for-each per scorrere tutti gli elementi di num e controlliamo individualmente se toFind è uguale a n o no.

Se sì, impostiamo trovato truee interrompiamo il ciclo. In caso contrario, passiamo alla successiva iterazione.

Esempio 2: controlla se un array contiene un valore specificato utilizzando Stream

 import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Produzione

 7 non è stato trovato.

Nel programma sopra, invece di usare un ciclo for-each, convertiamo l'array in an IntStreame usiamo il suo anyMatch()metodo.

anyMatch()metodo accetta un predicato, un'espressione o una funzione che restituisce un valore booleano. Nel nostro caso, il predicato confronta ogni elemento n nel flusso con toFind e restituisce trueo false.

Se uno qualsiasi degli elementi n ritorna true, anche trovato viene impostato su true.

Esempio 3: controlla se un array contiene un dato valore per i tipi non primitivi

 import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Produzione

 Viene trovato quattro.

Nel programma precedente, abbiamo utilizzato un tipo di dati non primitivo Stringe utilizzato Arraysil stream()metodo di per convertirlo prima in un flusso e anyMatch()per verificare se l'array contiene il valore dato toFind.

Articoli interessanti...