Vérifier qu'un tableau contient une valeur particulière en Java

Rashmi Patidar 12 octobre 2023
  1. Vérifier qu’un tableau contient une valeur particulière à l’aide de la méthode array.contains() en Java
  2. Vérifier qu’un tableau contient une valeur particulière à l’aide de flux Java 8
  3. Vérifier qu’un tableau contient une valeur particulière à l’aide d’une simple boucle for
Vérifier qu'un tableau contient une valeur particulière en Java

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 Patidar avatar Rashmi Patidar avatar

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

Article connexe - Java Array