Vous pouvez utiliser java.util.Arrays.binarySearch pour trouver un élément dans un tableau ou pour vérifier son existence:
import java.util.Arrays;
...
char[] array = new char[] {'a', 'x', 'm'};
Arrays.sort(array);
if (Arrays.binarySearch(array, 'm') >= 0) {
System.out.println("Yes, m is there");
}
Sachez que pour que binarySearch fonctionne correctement, le tableau doit être trié. D'où l'appel à Arrays.sort() dans l'exemple. Si vos données sont déjà triées, vous n'avez pas besoin de le faire. Ainsi, ce n'est pas strictement un one-liner si vous avez besoin de trier votre tableau en premier. Malheureusement, Arrays.sort() ne renvoie pas de référence au tableau - il n'est donc pas possible de combiner sort et binarySearch (c'est-à-dire Arrays.binarySearch (Arrays.sort (myArray), key)) ne fonctionne pas).
Si vous pouvez vous permettre l'allocation supplémentaire, en utilisant Arrays.asList() semble plus propre.
Est-ce-que cela crée une liste? – danben
La liste est juste une enveloppe autour du tableau, donc c'est très léger. Bien sûr, "contient" va juste finir par itérer à travers le tableau, alors quel est le point? –
@danben bien sûr, mais c'est un one-liner approprié. –