java reverse string tutorial with programming examples
Dans ce didacticiel, nous allons apprendre à inverser une chaîne en Java à l'aide de la méthode Reverse () des classes StringBuilder et StringBuffer à l'aide d'exemples:
Nous aborderons ici la méthode Java String reverse () et son utilisation, ainsi que des exemples de programmation, des FAQ et des questions basées sur des scénarios qui vous donneront une idée des domaines applicables de cette méthode.
En parcourant ce didacticiel, vous serez en mesure de mieux comprendre la méthode Java String reverse () et de l'appliquer vous-même dans divers programmes de gestion de String.
=> Visitez ici pour apprendre Java à partir de zéro.
Ce que vous apprendrez:
Chaîne inverse Java
Avant de commencer, nous devons comprendre que la classe Java String est immuable et qu'elle n'a pas la méthode reverse (). Cependant, les classes StringBuilder et StringBuffer ont la méthode Java reverse () intégrée.
Comme son nom l'indique, la méthode reverse () est utilisée pour inverser l'ordre des occurrences de tous les caractères d'une chaîne.
Syntaxe:
StringBuffer reverse()
StringBuffer Reverse String
Dans cet exemple , nous avons initialisé une variable String et stocké tous les caractères de cette String dans StringBuffer. Ensuite, nous avons utilisé la méthode reverse () pour inverser l'occurrence des caractères de la chaîne.
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); } }
Production:
StringBuilder Reverse String
Dans cet exemple, nous essayons d'inverser l'occurrence des caractères via la classe StringBuilder. Nous exécutons la méthode reverse () sur les mêmes valeurs d'entrée que nous avons utilisées pendant le 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); } }
Production:
Scénarios
Scénario 1: Inversez une chaîne sans utiliser la méthode StringBuilder ou StringBuffer reverse ().
Explication: Dans ce scénario, nous allons vous montrer comment inverser les caractères d'une chaîne sans utiliser la méthode reverse ().
Nous avons pris une chaîne d'entrée et l'avons ensuite convertie en tableau de caractères. Avec l'aide de la boucle for, nous avons imprimé les caractères dans l'ordre inverse.
comment créer un projet dans 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)); } } }
Production:
Scénario 2: Inversez tous les caractères en utilisant la méthode Split ().
Explication: C'est une autre façon d'inverser l'occurrence des caractères d'une chaîne. Dans ce scénario, nous utiliserons la méthode Split () pour diviser chaque caractère d'une chaîne et en utilisant la boucle for, nous imprimerons chaque caractère dans l'ordre d'occurrence inverse.
Ici, nous avons pris l'entrée via la console en utilisant 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) + ''); } } }
Production:
Scénario 3: Inversez tous les caractères en utilisant Swapping.
Explication: C'est encore une autre façon d'inverser les caractères d'une chaîne. Ici, nous avons initialisé «i» et length = 0.
Dans la boucle for, nous avons analysé les caractères des deux côtés en gardant «i» égal à zéro, en incrémentant de 1 et en décrémentant la longueur de 1 pour chaque comparaison entre l'index initial et le dernier index. Nous avons continué cette condition jusqu'à ce que «i» devienne «égal à» ou «supérieur à» la longueur.
Enfin, à l'aide de la boucle forEach, nous avons imprimé chaque caractère.
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 Production:
Questions fréquemment posées
Q # 1) Existe-t-il une méthode de chaîne reverse () en Java?
Répondre: Non. La classe String n'a pas de méthode reverse (). Cependant, vous pouvez inverser une chaîne de plusieurs manières dans la classe String elle-même. De plus, StringBuilder, StringBuffer et Collections prennent en charge la méthode reverse ().
Q # 2) Comment pouvons-nous convertir un StringBuilder en String?
Répondre: Ci-dessous, le programme dans lequel nous avons converti les éléments stockés dans un StringBuilder en 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); } }
Production:
Q # 3) Énumérez la différence entre String, StringBuilder et StringBuffer?
comment écrire un cas de test
Répondre: Ci-dessous, la différence entre String, StringBuilder et StringBuffer.
Chaîne de caractères StringBuffer StringBuilder Une chaîne est une classe immuable. StringBuffer est une classe Mutable qui est synchronisée (thread-safe). StringBuilder est également une classe Mutable qui n'est pas synchronisée. Un String est moins efficace que StringBuffer et StringBuilder car chaque fois que nous effectuons une manipulation de String, il crée un nouveau String et jette l'ancien String pour le garbage collection. StringBuffer est moins efficace. StringBuilder est plus efficace que StringBuffer. Un String est plus lent que le StringBuffer lorsque nous concatons plusieurs Strings car il crée une nouvelle instance à chaque fois. StringBuffer est plus lent que StringBuilder. StringBuilder est rapide car il n'est pas synchronisé.
Q # 4) Comment convertir un caractère en chaîne en Java?
Répondre: Nous pouvons convertir un caractère en String en utilisant une méthode intégrée «toString ()».
Suggestion de lecture => Comment convertir Char en chaîne en Java
Vous trouverez ci-dessous le programme dans lequel nous avons utilisé la méthode toString () pour convertir un caractère en chaîne.
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); } }
Production:
Q # 5) Ecrivez un programme Java pour vérifier si la chaîne est un palindrome ou non (en utilisant StringBuffer).
Répondre: Nous pouvons utiliser n'importe quel programme inverse String (illustré ci-dessus), puis ajouter une condition pour vérifier s'il s'agit d'un palindrome ou non.
Un exemple de programme est donné ci-dessous.
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'); } }
Production:
Q # 6) Comment inverser une chaîne en Java mot par mot?
Répondre: Vous pouvez inverser une chaîne en Java (mot par mot) en utilisant la méthode Java String Split () intégrée. Tout ce que vous avez à faire est de passer des espaces dans la méthode Split ().
Consultez l'exemple de programme ci-dessous.
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) + ' '); } } }
Production:
Q # 7) StringBuilder est-il thread-safe? Pourquoi StringBuilder est-il plus rapide que StringBuffer?
Répondre: Non, StringBuilder n'est ni thread-safe ni synchronisé. StringBuffer est thread-safe. Ainsi, le StringBuilder est considéré comme plus rapide que le StringBuffer.
Conclusion
Dans ce didacticiel, nous avons découvert la méthode reverse () Java String et les différentes techniques par lesquelles vous pouvez inverser une chaîne.
De plus, nous avons couvert suffisamment de FAQ et d'exemples de programmation qui vous aideront à comprendre la méthode reverse ().
=> Visitez ici pour voir la série de formations Java pour tous.
lecture recommandée
- Inverser un tableau en Java - 3 méthodes avec des exemples
- Tutoriel Java String | Méthodes de chaîne Java avec exemples
- Tableau de chaînes Java - Tutoriel avec des exemples de code
- Tutoriel Java String avec String Buffer et String Builder
- Méthode Java String length () avec exemples
- Tutoriel sur la méthode Java String contains () avec des exemples
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- Méthode Java String compareTo avec des exemples de programmation