java reverse string tutorial with programming examples
V tomto výučbe sa pomocou príkladov naučíme obrátiť reťazec v Jave pomocou metódy Reverse () triedy StringBuilder a StringBuffer:
Tu si povieme o metóde Java s reverzným () reťazcom a jej použití spolu s dostatočnými príkladmi programovania, často kladenými otázkami a otázkami založenými na scenároch, ktoré vám poskytnú predstavu o použiteľných oblastiach tejto metódy.
Po absolvovaní tohto tutoriálu budete schopní lepšie porozumieť metóde reverznej () String Java a môžete ju sami použiť v rôznych programoch na prácu s reťazcami.
=> Navštívte tu a dozviete sa Java od začiatku.
Čo sa dozviete:
Reverzný reťazec Java
Než začneme, mali by sme pochopiť, že trieda Java String je nemenná a nemá metódu reverse (). Triedy StringBuilder a StringBuffer však majú zabudovanú metódu Java reverse () v jazyku Java.
Ako už názov napovedá, metóda reverse () sa používa na obrátenie poradia výskytov všetkých znakov reťazca.
Syntax:
StringBuffer reverse()
StringBuffer spätný reťazec
V tomto príklade , inicializovali sme premennú String a uložili sme všetky znaky tohto reťazca do StringBuffer. Potom sme pomocou metódy reverse () zvrátili výskyt znakov reťazca.
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); } }
Výkon:
StringBuilder Obrátený reťazec
V tomto príklade sa snažíme zvrátiť výskyt znakov prostredníctvom triedy StringBuilder. Metódu reverse () vykonávame na rovnakých vstupných hodnotách, ktoré sme použili počas 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); } }
Výkon:
Scenáre
Scenár 1: Obrátiť reťazec bez použitia metódy StringBuilder alebo StringBuffer reverse ().
Vysvetlenie: V tomto scenári si ukážeme, ako obrátiť znaky reťazca bez použitia metódy reverse ().
Vzali sme vstupný reťazec a potom ho previedli na znak Array. Pomocou slučky for sme vytlačili znaky v opačnom poradí.
otázky a odpovede na pohovory pre obchodného analytika
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)); } } }
Výkon:
Scenár 2: Všetky znaky obráťte pomocou metódy Split ().
Vysvetlenie: Toto je ďalší spôsob, ako zvrátiť výskyt znakov reťazca. V tomto scenári použijeme na rozdelenie každého znaku reťazca metódu Split () a pomocou cyklu for vytlačíme každý znak v opačnom poradí výskytu.
Tu sme previedli vstup cez konzolu pomocou triedy skenerov.
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) + ''); } } }
Výkon:
Scenár 3: Obráťte všetky znaky pomocou Swapping.
Vysvetlenie: Toto je ešte ďalší spôsob, ako obrátiť znaky reťazca. Tu sme inicializovali „i“ a dĺžku = 0.
Vo vnútri cyklu for sme syntakticky analyzovali znaky z oboch strán tak, že sa „i“ rovná nule, pričom sa zvyšuje o 1 a dĺžka sa znižuje o 1 pre každé porovnanie medzi počiatočným indexom a posledným indexom. V tejto podmienke sme pokračovali dovtedy, kým sa hodnota „i“ nestane „rovnakou“ alebo „väčšou ako“ dĺžka.
Nakoniec sme pomocou slučky forEach vytlačili každý znak.
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 Výkon:

často kladené otázky
Otázka č. 1) Existuje v Jave metóda reverzného () reťazca?
Odpoveď: Nie. Trieda String nemá metódu reverse (). V samotnej triede String však môžete reťazec obrátiť viacerými spôsobmi. StringBuilder, StringBuffer a Collections tiež podporujú metódu reverse ().
Otázka č. 2) Ako môžeme previesť StringBuilder na String?
Odpoveď: Ďalej je uvedený program, v ktorom sme previedli prvky uložené v StringBuilder na 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); } }
Výkon:

Otázka č. 3) Uveďte rozdiel medzi String, StringBuilder a StringBuffer?
kto je najlepším poskytovateľom e-mailov
Odpoveď: Nižšie je uvedený rozdiel medzi reťazcami String, StringBuilder a StringBuffer.
String StringBuffer StringBuilder A String je nemenná trieda. StringBuffer je premenlivá trieda, ktorá je synchronizovaná (bezpečná pre vlákna). StringBuilder je tiež trieda Mutable, ktorá nie je synchronizovaná. String je menej efektívny ako StringBuffer a StringBuilder, pretože zakaždým, keď vykonávame manipuláciu s reťazcami, vytvorí nový reťazec a hodí starý reťazec na odvoz odpadu. StringBuffer je menej efektívny. StringBuilder je efektívnejší ako StringBuffer. String je pomalší ako StringBuffer, keď spojíme viac reťazcov, pretože zakaždým vytvorí novú inštanciu. StringBuffer je pomalší ako StringBuilder. StringBuilder je rýchly, pretože nie je synchronizovaný.
Otázka č. 4) Ako môžem previesť znak na reťazec v Jave?
Odpoveď: Znak môžeme previesť na String pomocou vstavanej metódy „toString ()“.
Navrhované čítanie => Ako prevádzať Char to String v Jave
Nižšie je uvedený program, v ktorom sme použili metódu toString () na prevod znaku na reťazec.
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); } }
Výkon:

Otázka č. 5) Napíš program Java a skontroluj, či je reťazec palindróm alebo nie (pomocou StringBuffer).
Odpoveď: Môžeme použiť ľubovoľný program String reverse (ilustrovaný vyššie) a potom pridať podmienku na kontrolu, či je alebo nie je palindróm.
Nižšie je uvedený príklad programu.
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'); } }
Výkon:

Otázka č. 6) Ako obrátiť reťazec v Jave slovo po slove?
Odpoveď: Môžete prevrátiť reťazec v jazyku Java (slovo po slove) pomocou zabudovanej metódy Java String Split (). Všetko, čo musíte urobiť, je odovzdať medzery metódou Split ().
Pozrite si ukážkový program uvedený nižšie.
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) + ' '); } } }
Výkon:

Otázka č. 7) Je StringBuilder bezpečný pre vlákna? Prečo je StringBuilder rýchlejší ako StringBuffer?
Odpoveď: Nie, StringBuilder nie je bezpečný pre vlákna ani synchronizovaný. StringBuffer je bezpečný pre vlákna. StringBuilder sa teda považuje za rýchlejší ako StringBuffer.
Záver
V tomto tutoriáli sme sa dozvedeli o metóde Java String reverse () a rôznych technikách, pomocou ktorých môžete String obrátiť.
Ďalej sme prebrali dostatok častých otázok a príkladov programovania, ktoré vám pomôžu pochopiť metódu reverse ().
=> Navštívte tu a pozrite si sériu školení Java pre všetkých.
Odporúčané čítanie
- Obrátiť pole v prostredí Java - 3 metódy s príkladmi
- Výukový program pre Java String Metódy reťazca Java s príkladmi
- Výukový program Java String Array s príkladmi kódu
- Výukový program Java String s programom String Buffer a String Builder
- Metóda Java String length () s príkladmi
- Java String obsahuje () Výukový program metód s príkladmi
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Metóda Java String compareTo s príkladmi programovania