Puede utilizar java.util.Arrays.binarySearch para encontrar un elemento en una matriz o para verificar su existencia:
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");
}
Tenga en cuenta que para que binarySearch funcione correctamente, la matriz debe ordenarse. De ahí la llamada a Arrays.sort() en el ejemplo. Si sus datos ya están ordenados, no necesita hacer eso. Por lo tanto, esto no es estrictamente una línea si primero debe ordenar su matriz. Desafortunadamente, Arrays.sort() no devuelve una referencia a la matriz, por lo que no es posible combinar sort y binarySearch (es decir, Arrays.binarySearch (Arrays.sort (myArray), clave)) no funciona.
Si puede pagar la asignación adicional, el uso de Arrays.asList() parece más limpio.
¿Esto no crea una lista? – danben
La lista es solo una envoltura alrededor de la matriz, por lo que es muy liviana. Por supuesto, "contiene" simplemente va a terminar iterando a través de la matriz, entonces, ¿cuál es el punto? –
@danben seguro, pero es un trazador de líneas apropiado. –