human
J'ai un ```String[]``` avec des valeurs comme ceci:
```public static final String[] VALUES = new String[] {""AB"",""BC"",""CD"",""AE""};
```
Étant donné ```String s```, y a-t-il un bon moyen de tester si ```VALUES``` contient ```s``` ?" Comment déterminer si un tableau contient une valeur particulière en Java
gpt
Quatre façons différentes de vérifier si un tableau contient une valeur :

* Utilisation de ```List``` :
```public static boolean useList(String[] arr, String targetValue) {
    return Arrays.asList(arr).contains(targetValue);
}
```
* Utilisation de ```Set``` :
```public static boolean useSet(String[] arr, String targetValue) {
    Set set = new HashSet(Arrays.asList(arr));
    return set.contains(targetValue);
}
```
* Utilisation d'une boucle simple :
```public static boolean useLoop(String[] arr, String targetValue) {
    for (String s: arr) {
        if (s.equals(targetValue))
            return true;
    }
    return false;
}
```
* Utilisation de ```Arrays.binarySearch()``` :
Le code ci-dessous est incorrect, il est répertorié ici pour des raisons de complétude. ```binarySearch()``` ne peut être utilisé que sur des tableaux triés. Vous constaterez que le résultat est étrange ci-dessous. C'est la meilleure option lorsque le tableau est trié.
```public static boolean binarySearch(String[] arr, String targetValue) {
    return Arrays.binarySearch(arr, targetValue) >= 0;
}
```

Exemple rapide :
```String testValue="test";
String newValueNotInList="newValue";
String[] valueArray = { "this", "is", "java" , "test" };
Arrays.asList(valueArray).contains(testValue); // renvoie true
Arrays.asList(valueArray).contains(newValueNotInList); // renvoie false
```