que tiene una matriz:posición del elemento en la matriz
char[] modifiers = {'A', 'M', 'D'};
y una variable:
char a = 'D'
Cómo Obtener la posición del valor de la variable en la matriz?
Gracias
que tiene una matriz:posición del elemento en la matriz
char[] modifiers = {'A', 'M', 'D'};
y una variable:
char a = 'D'
Cómo Obtener la posición del valor de la variable en la matriz?
Gracias
Probar:
int pos = -1;
for(int i = 0; i < modifiers.length; i++) {
if(modifiers[i] == a) {
pos = i;
break;
}
}
Esto hará que la primera aparición del valor en la variable pos
, si los hay múltiples, o -1 si no se encuentra.
Iterate a través de la matriz y compara sus elementos con la variable, devuelve el índice, si es igual. Devuelve -1 si no se encuentra. Es posible que desee considerar el uso de cualquier implementación de java.util.List
.
Algo a lo largo de las líneas puede hacer el truco:
Collections.indexOfSubList(Arrays.asList(array), Arrays.asList('D'))
Tratando de evitar un bucle Manual: p
Se podía hacerlo usted mismo con bastante facilidad, puede utilizar la clase() y busquedaBinaria () métodos de la clase java.util.Arrays, o puede convertir el char [] en una cadena y usar el método String.indexOf().
+1. 'new String (modificadores) .indexOf ('D')' es una forma bastante concisa de hacer esto. – Jonik
+1 Enfoque inteligente. –
Esta es la forma más corta que conozco. Tuve esto como un comentario, pero ahora lo escribo como una respuesta. ¡Aclamaciones!
Carácter [] matriz = {'A', 'B', 'D'};
Arrays.asList (array) .indexOf ('D');
Bueno, esto no funciona. Pruébalo con los valores de OP. Devuelve -1. –
Gran captura. fijo. La inicialización deberá ser con Character. – st0le
Esto es muy simple y el código probado para su referencia
String[] arrayValue = {"test","test1","test2"};
int position = Arrays.asList(arrayValue).indexOf("test");
position: 0th Position
'pos int = -1;' ve mejor. – khachik
@khachik ¡Ah! Gracias por la captura! –