Ho un array:posizione elemento in ordine di
char[] modifiers = {'A', 'M', 'D'};
e una variabile:
char a = 'D'
Come ottenere la posizione del valore della variabile in array?
Grazie
Ho un array:posizione elemento in ordine di
char[] modifiers = {'A', 'M', 'D'};
e una variabile:
char a = 'D'
Come ottenere la posizione del valore della variabile in array?
Grazie
Prova:
int pos = -1;
for(int i = 0; i < modifiers.length; i++) {
if(modifiers[i] == a) {
pos = i;
break;
}
}
questo otterrà la primo occorrenza del valore in variabile pos
, se ci sono quelli multipli, o -1 se non trovato.
Iterare attraverso la matrice e confrontare i suoi elementi con la variabile, restituire l'indice, se uguale. Ritorna -1 se non trovato. Potresti prendere in considerazione l'utilizzo di qualsiasi implementazione di java.util.List
.
Qualcosa sulla falsariga può fare il trucco:
Collections.indexOfSubList(Arrays.asList(array), Arrays.asList('D'))
Cercando di evitare un ciclo manuale: p
Si potrebbe farlo da soli abbastanza facilmente, è possibile utilizzare la sort() e binarySearch () metodi della classe java.util.Arrays, oppure è possibile convertire il char [] in una stringa e utilizzare il metodo String.indexOf().
+1. 'new String (modificatori) .indexOf ('D')' è un modo piuttosto conciso per farlo. – Jonik
+1 Approccio intelligente. –
Questo è il modo più breve che conosco. Ho avuto questo come commento ma ora lo sto scrivendo come risposta. Saluti!
Carattere [] array = {'A', 'B', 'D'};
Arrays.asList (array) .indexOf ('D');
Beh, questo non funziona. Provalo con i valori dell'OP. Restituisce -1. –
Grande cattura. fisso. L'inizializzazione dovrà essere con Character. – st0le
Questo è molto semplice e testati codice per il vostro riferimento
String[] arrayValue = {"test","test1","test2"};
int position = Arrays.asList(arrayValue).indexOf("test");
position: 0th Position
'int pos = -1;' sembra migliore. – khachik
@khachik Ah! Grazie per la cattura! –