Vérifier qu'un tableau contient une valeur particulière en Java
-
Vérifier qu’un tableau contient une valeur particulière à l’aide de la méthode
array.contains()
en Java - Vérifier qu’un tableau contient une valeur particulière à l’aide de flux Java 8
-
Vérifier qu’un tableau contient une valeur particulière à l’aide d’une simple boucle
for
Un tableau est une collection systématique d’éléments disposés dans un ordre défini. En interne, les éléments du tableau sont stockés dans des emplacements de mémoire contigus.
Il existe différentes manières de rechercher un élément dans un tableau. Diverses méthodes conduisent à des temps et à une complexité différents. Vous trouverez ci-dessous quelques méthodes répertoriées pour rechercher un élément dans un tableau.
Vérifier qu’un tableau contient une valeur particulière à l’aide de la méthode array.contains()
en Java
Dans le bloc de code ci-dessous, nous devons instancier un tableau arr
avec des valeurs prédéfinies. Maintenant, initialisez la chaîne que nous devons rechercher.
Arrays
est une classe qui a plusieurs méthodes pour manipuler les tableaux. Cette classe contient des méthodes et des champs de fabrique statiques, utiles pour rechercher et trier des éléments dans le tableau.
La méthode asList()
est la méthode statique de la classe Arrays
. Il renvoie une liste fixe du tableau spécifié extrait des paramètres.
contains()
est une méthode de l’interface List
. Il prend un élément en paramètre, et on compare cet argument avec les éléments présents dans la liste. Il renvoie la valeur booléenne true
si l’élément spécifié existe dans la liste et renvoie false
dans les deux cas. La méthode lève ClassCastException
si le type de l’élément spécifié est incompatible avec cette liste et NullPointerException
si la valeur spécifiée est nulle et que cette liste n’autorise pas de valeur nulle.
package findInList;
import java.util.Arrays;
public class FindAValueInArray {
public static void main(String[] args) {
String[] arr = new String[] {"1", "2", "3"};
String stringToSearch = "2";
System.out.println(Arrays.asList(arr).contains(stringToSearch));
}
}
La sortie du programme ci-dessus est comme ci-dessous.
true
Vérifier qu’un tableau contient une valeur particulière à l’aide de flux Java 8
Dans le bloc de code ci-dessus, les deux premières lignes sont similaires à celles du premier code. Ici, nous avons utilisé la méthode stream
de la classe Arrays
pour créer un flux de tableaux. Cette méthode renvoie un flux séquentiel avec le tableau spécifié comme source. La classe stream
a une fonction nommée anyMatch()
. La méthode prend un predicate
comme entrée.
Le Predicate
est une interface fonctionnelle qui prend une fonction à un seul argument et renvoie une valeur booléenne
. Il contient une seule méthode test(T t)
qui évalue le prédicat sur l’argument donné. Il renvoie true
si un élément du flux correspond au prédicat fourni, sinon une valeur false
.
package findInList;
import java.util.Arrays;
public class FindAValueInArray {
public static void main(String[] args) {
String[] arr = new String[] {"1", "2", "3"};
String stringToSearch = "2";
System.out.println(Arrays.stream(arr).anyMatch(s -> s.equals(stringToSearch)));
}
}
La sortie du code ci-dessus est la même que le premier code.
Vérifier qu’un tableau contient une valeur particulière à l’aide d’une simple boucle for
Dans le bloc de code ci-dessous, nous utilisons la boucle for
traditionnelle pour parcourir les tableaux. La boucle for
est initialisée dans expression1
avec une valeur de compteur à 0
. Maintenant, la valeur du compteur est comparée à la longueur d’un tableau. Si la variable de compteur est inférieure à la longueur du tableau défini, l’instruction à l’intérieur du bloc de code sera exécutée.
A l’intérieur du bloc for
, nous comparons chaque élément d’un tableau en utilisant la méthode equals
de la classe String
. Si le statut est évalué à vrai, alors le mot-clé break
est utilisé pour interrompre l’exécution de la boucle for
. S’il n’est pas trouvé, le code sera exécuté autant de fois que le nombre d’éléments du tableau.
Après la boucle, une instruction print évaluera la valeur de la variable d’état comme true
si un élément est recherché dans la liste, sinon affichera la valeur false
.
package findInList;
public class FindAValueInArray {
public static void main(String[] args) {
String[] arr = new String[] {"1", "2", "3"};
String stringToSearch = "2";
boolean status = false;
for (int i = 0; i < arr.length; i++) {
status = arr[i].equals(stringToSearch);
if (status)
break;
}
System.out.println(status);
}
}
La sortie est à nouveau la même que celle donnée dans le premier code.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn