Dans ce programme, vous apprendrez à vérifier si un tableau contient une valeur donnée en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Tableaux Java
- Types de données Java (primitif)
Exemple 1: vérifier si Int Array contient une valeur donnée
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."); ) )
Production
3 est trouvé.
Dans le programme ci-dessus, nous avons un tableau d'entiers stockés dans la variable num. De même, le numéro à trouver est stocké dans toFind.
Maintenant, nous utilisons une boucle for-each pour parcourir tous les éléments de num et vérifier individuellement si toFind est égal à n ou non.
Si oui, nous définissons found true
et sortons de la boucle. Sinon, nous passons à l'itération suivante.
Exemple 2: vérifier si un tableau contient une valeur donnée à l'aide de 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."); ) )
Production
7 est introuvable.
Dans le programme ci-dessus, au lieu d'utiliser une boucle for-each, nous convertissons le tableau en an IntStream
et utilisons sa anyMatch()
méthode.
anyMatch()
La méthode prend un prédicat, une expression ou une fonction qui renvoie une valeur booléenne. Dans notre cas, le prédicat compare chaque élément n du flux à toFind et renvoie true
ou false
.
Si l'un des éléments n renvoie true
, found est également défini sur true
.
Exemple 3: vérifier si un tableau contient une valeur donnée pour les types non primitifs
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."); ) )
Production
Quatre est trouvé.
Dans le programme ci-dessus, nous avons utilisé un type de données non primitif String
et utilisé Arrays
la stream()
méthode de pour d'abord le convertir en flux et anyMatch()
vérifier si le tableau contient la valeur donnée toFind.