java reverse string tutorial with programming examples
In questo tutorial, impareremo a invertire una stringa in Java utilizzando il metodo Reverse () di StringBuilder e StringBuffer Classes con l'aiuto di esempi:
Qui discuteremo il metodo Java String reverse () e il suo utilizzo insieme a sufficienti esempi di programmazione, FAQ e domande basate su scenari che ti daranno un'idea delle aree applicabili di questo metodo.
Dopo aver seguito questo tutorial, sarai in grado di comprendere meglio il metodo Java String reverse () e puoi applicare il metodo in vari programmi di gestione delle stringhe da solo.
=> Visita qui per imparare Java da zero.
Cosa imparerai:
Stringa inversa Java
Prima di iniziare, dovremmo capire che la classe Java String è immutabile e non ha il metodo reverse (). Tuttavia, le classi StringBuilder e StringBuffer hanno il metodo Java reverse () integrato.
Come suggerisce il nome, il metodo reverse () viene utilizzato per invertire l'ordine delle occorrenze di tutti i caratteri di una stringa.
Sintassi:
StringBuffer reverse()
StringBuffer Stringa inversa
In questo esempio , abbiamo inizializzato una variabile String e memorizzato tutti i caratteri di quella String in StringBuffer. Quindi, abbiamo utilizzato il metodo reverse () per invertire l'occorrenza dei caratteri della stringa.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); // Printed the StringBuffer System.out.println(sb); } }
Produzione:
StringBuilder Stringa inversa
In questo esempio, stiamo cercando di invertire l'occorrenza dei caratteri tramite StringBuilder Class. Stiamo eseguendo il metodo reverse () sugli stessi valori di input che abbiamo usato durante StringBuffer.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuilder 'stbuilder' and stored all the characters of the String StringBuilder stbuilder = new StringBuilder(str); // Reversed the occurrence of characters stbuilder.reverse(); // Printed the StringBuilder System.out.println(stbuilder); } }
Produzione:
Scenari
Scenario 1: Invertire una stringa senza utilizzare il metodo StringBuilder o StringBuffer reverse ().
Spiegazione: In questo scenario, ti mostreremo come invertire i caratteri di una stringa senza utilizzare il metodo reverse ().
Abbiamo preso una stringa di input e poi l'abbiamo convertita in un array di caratteri. Con l'aiuto del ciclo for, abbiamo stampato i caratteri nell'ordine inverso.
Esempio di test case junit in java eclipse
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'SAKET'; /* * converted String into character Array * and printed all the elements in * reverse order using for loop */ char chars() = str.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) { System.out.print(chars(i)); } } }
Produzione:
Scenario 2: Invertire tutti i caratteri utilizzando il metodo Split ().
Spiegazione: Questo è un altro modo per invertire l'occorrenza dei caratteri di una stringa. In questo scenario, useremo il metodo Split () per dividere ogni carattere di una stringa e usando il ciclo for, stamperemo ogni carattere nell'ordine inverso di occorrenza.
Qui, abbiamo preso l'input tramite la console utilizzando la classe Scanner.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; // Taking input through the console using Scanner Class Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Splitted each character of the String and then * printed the same in the reverse order using * for loop */ String() split = str.split(''); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ''); } } }
Produzione:
Scenario 3: Inverti tutti i personaggi usando lo scambio.
Spiegazione: Questo è ancora un altro modo per invertire i caratteri di una stringa. Qui abbiamo inizializzato 'i' e length = 0.
All'interno del ciclo for, abbiamo analizzato i caratteri da entrambi i lati mantenendo la 'i' uguale a zero, incrementando di 1 e la lunghezza decrementando di 1 per ogni confronto tra l'indice iniziale e l'ultimo indice. Abbiamo continuato questa condizione finché 'i' diventa 'uguale a' o 'maggiore di' la lunghezza.
Infine, con l'aiuto del ciclo forEach, abbiamo stampato ogni carattere.
class Reverse { public static void main(String() args) { // Initialized an input String String str = 'PLEHGNITSETERAWTFOS SI SIHT'; // Converted the String into character Array char() arr = str.toCharArray(); int i, length = 0; length = arr.length - 1; for (i = 0; i Produzione:

Domande frequenti
D # 1) Esiste un metodo String reverse () in Java?
Risposta: No. La classe String non dispone di un metodo reverse (). Tuttavia, è possibile invertire una stringa utilizzando più modi nella stessa classe String. Inoltre, StringBuilder, StringBuffer e Collections supportano il metodo reverse ().
Q # 2) Come possiamo convertire uno StringBuilder in String?
Risposta: Di seguito è riportato il programma in cui abbiamo convertito gli elementi memorizzati in uno StringBuilder in una String.
public class Reverse { public static void main(String args()) { String strArr() = { 'This', 'is', 'an', 'Example', 'of', 'String' }; // Created a new StringBuilder StringBuilder sb = new StringBuilder(); /* * Appended all the elements of str (delimited by space) into StringBuilder */ sb.append(strArr(0)); sb.append(' ' + strArr(1)); sb.append(' ' + strArr(2)); sb.append(' ' + strArr(3)); sb.append(' ' + strArr(4)); sb.append(' ' + strArr(5)); // Converted the StringBuilder into it's String Equivalent String str = sb.toString(); System.out.println(str); } }
Produzione:

Q # 3) Elenca la differenza tra String, StringBuilder e StringBuffer?
domande e risposte dell'intervista del server sql per 5 anni di esperienza
Risposta: Di seguito è riportata la differenza tra String, StringBuilder e StringBuffer.
Corda StringBuffer StringBuilder Una stringa è una classe immutabile. StringBuffer è una classe Mutable sincronizzata (thread-safe). StringBuilder è anche una classe Mutable che non è sincronizzata. Una String è meno efficiente di StringBuffer e StringBuilder perché ogni volta che eseguiamo la manipolazione di String, crea una nuova String e lancia la vecchia String per la garbage collection. StringBuffer è meno efficiente. StringBuilder è più efficiente di StringBuffer. Una stringa è più lenta di StringBuffer quando concateniamo più stringhe poiché crea ogni volta una nuova istanza. StringBuffer è più lento di StringBuilder. StringBuilder è veloce perché non è sincronizzato.
Q # 4) Come si converte un carattere in una stringa in Java?
Risposta: Possiamo convertire un carattere in una stringa utilizzando un metodo integrato 'toString ()'.
Letture consigliate => Come convertire Da carattere a stringa in Java
Di seguito è riportato il programma in cui abbiamo utilizzato il metodo toString () per convertire un carattere in una stringa.
public class Reverse { public static void main(String args()) { char chars = 'A'; /* * With the help of toString() method, we have * converted a Character into its String Equivalent */ String str = Character.toString(chars); System.out.println(str); } }
Produzione:

Q # 5) Scrivi un programma Java per verificare se la stringa è un palindromo o meno (utilizzando StringBuffer).
Risposta: Possiamo usare uno qualsiasi dei programmi String reverse (illustrato sopra) e quindi aggiungere una condizione per verificare se è palindromo o meno.
Di seguito viene fornito un programma di esempio.
import java.util.Scanner; public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'racecar'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); /* * Stored the contents of StringBuffer into str2 * by converting it using toString() */ String str2 = sb.toString(); System.out.println('The Original String is: '+str); System.out.println('The reversed String is '+str2); if (str.equals(str2)) System.out.println('The String is palindrome'); else System.out.println('The String is not a palindrome'); } }
Produzione:

Q # 6) Come invertire una stringa in Java parola per parola?
Risposta: È possibile invertire una stringa in Java (parola per parola) utilizzando il metodo Java String Split () integrato. Tutto quello che devi fare è passare gli spazi vuoti nel metodo Split ().
Dai un'occhiata al programma di esempio qui sotto.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; /* Getting input from console using Scanner class * */ Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Used split() method to print in reverse order * delimited by whitespace */ String() split = str.split(' '); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ' '); } } }
Produzione:

Q # 7) StringBuilder è thread-safe? Perché StringBuilder è più veloce di StringBuffer?
Risposta: No, StringBuilder non è thread-safe o sincronizzato. StringBuffer è thread-safe. Pertanto, lo StringBuilder è considerato più veloce dello StringBuffer.
Conclusione
In questo tutorial abbiamo imparato a conoscere il metodo Java String reverse () e le varie tecniche attraverso le quali è possibile invertire una String.
Inoltre, abbiamo coperto un numero sufficiente di domande frequenti ed esempi di programmazione che ti aiuteranno a comprendere il metodo reverse ().
=> Visita qui per vedere la serie di formazione Java per tutti.
Lettura consigliata
- Invertire un array in Java - 3 metodi con esempi
- Tutorial Java String | Metodi Java String con esempi
- Java String Array - Tutorial con esempi di codice
- Java String con String Buffer e String Builder Tutorial
- Metodo Java String length () con esempi
- Tutorial sul metodo Java String contains () con esempi
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Java String compareTo con esempi di programmazione