Attraversamento Attraverso una variabile String in Java

October 14

Attraversando attraverso una variabile String Java è utile quando è necessario elaborare ogni carattere della stringa separatamente. Una stringa Java contiene una serie di personaggi, come ad esempio una frase in inglese. Ad esempio, è possibile visualizzare ogni altra parola in una frase come parte di un gioco di parole scramble. Ci sono diversi modi per attraversare una stringa, che vanno dalle chiamate ripetitive della funzione "charAt" per l'iterazione attraverso un oggetto "CharacterIterator".

Tecnica standard

Un regolare ciclo "for" con una chiamata ripetitiva della funzione "charAt" è il modo più semplice per attraversare una variabile String.

String str = "testo qui";

for (int n = 0; n <str.length (); n ++) {
char c = str.charAt (n);
System.out.println (c);
}

La funzione "charAt" restituisce il carattere in un indice specifico in un tempo costante. Il ciclo accede il primo carattere della stringa e scorre in avanti di un carattere alla volta fino a raggiungere la fine della stringa. La funzione "System.out.println" viene visualizzato il valore del carattere.

Attraversare una stringa indietro

Traverse di una variabile String in ordine inverso partendo all'ultimo carattere e lo spostamento all'indietro fino a quando il circuito raggiunge il primo carattere della stringa.

String str = "testo qui";

for (int n = str.length () - 1; n> = 0; n--) {
char c = str.charAt (n);
System.out.println (c);
}

Traverse con un "for-each" Loop

E 'possibile scorrere una stringa con un "for-each" costruire, ma è necessario prima di chiamare il ") toCharArray (" funzione, che crea un array di caratteri dalla variabile String.

String str = "testo qui";

per (char c: str.toCharArray ()) {
System.out.println (c);
}

Purtroppo, la funzione "toCharArray ()" viene fornito con un costo in testa perché deve creare uno completamente nuovo array di caratteri dalla variabile String.

Traverse con un oggetto "CharacterIterator"

Un altro modo per attraversare una stringa è la creazione di un oggetto "CharacterIterator" dalla stringa e poi scorrendo l'oggetto con un normale ciclo "for".

CharacterIterator str_it = new StringCharacterIterator ( "testo qui");

per (char c = str_it.first (); c = CharacterIterator.DONE;! c = str_it.next ()) {

System.out.println(c);

}

In alternativa, scorrere la "CharacterIterator" in ordine inverso con gli "ultimi" e funzioni "precedenti".

per (char c = str_it.last ();! c = CharacterIterator.DONE; c = str_it.previous ()) {

System.out.println(c);

}