English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai a controllare se un array contiene un valore specifico in Java.
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 + " Trovato"); else System.out.println(toFind + " Non trovato"); } }
Quando si esegue il programma, l'output è:
3 Trovato
Nel programma sopra, abbiamo un array di interi memorizzato nella variabile num. Allo stesso modo, il numero da cercare è memorizzato in toFind
Ora, utilizziamo un ciclo foreach per esplorare tutti gli elementi dell'array num e controlliamo se toFind è uguale a n
Se è così, impostiamo find su true e usciamo dal ciclo. Se non è così, passiamo alla prossima iterazione
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 + " Trovato"); else System.out.println(toFind + " Non trovato"); } }
Quando si esegue il programma, l'output è:
7 Non trovato
Nel programma sopra, non abbiamo utilizzato un ciclo foreach, ma abbiamo convertito l'array in IntStream e utilizzato il metodo anyMatch()
Il metodo anyMatch() accetta un predicato, un'espressione o una funzione che restituisce un valore booleano. Nel nostro esempio, il predicato confronta ogni elemento n dello stream con toFind e restituisce true o false
Se qualsiasi elemento n restituisce true, found sarà anche impostato su true
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 + " Trovato"); else System.out.println(toFind + " Non trovato"); } }
Quando si esegue il programma, l'output è:
Trovato
Nel programma sopra, abbiamo utilizzato il tipo di dati non primitivo String e abbiamo utilizzato il metodo stream() di Arrays per trasformarlo in un flusso e utilizzare anyMatch() per verificare se l'array contiene il valore specificato toFind