java reverse string tutorial with programming examples
V tomto výukovém programu se naučíme převrátit řetězec v jazyce Java pomocí metody Reverse () tříd StringBuilder a StringBuffer pomocí příkladů:
Zde probereme metodu Java reverzní () String a její použití spolu s dostatečnými příklady programování, často kladenými otázkami a otázkami založenými na scénářích, které vám poskytnou představu o příslušných oblastech této metody.
Po absolvování tohoto výukového programu budete moci lépe porozumět metodě Java (reverzní) String a tuto metodu můžete sami použít v různých programech pro zpracování řetězců.
=> Navštivte zde a dozvíte se Java od začátku.
Co se naučíte:
Reverzní řetězec Java
Než začneme, měli bychom pochopit, že třída Java String je neměnná a nemá metodu reverse (). Třídy StringBuilder a StringBuffer však mají zabudovanou metodu Java reverse ().
Jak název napovídá, metoda reverse () se používá k obrácení pořadí výskytů všech znaků řetězce.
Syntax:
StringBuffer reverse()
StringBuffer reverzní řetězec
V tomto příkladu , inicializovali jsme proměnnou String a uložili jsme všechny znaky daného řetězce do StringBuffer. Poté jsme pomocí metody reverse () zvrátili výskyt znaků řetězce.
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ýstup:
StringBuilder Reverzní řetězec
V tomto příkladu snažíme se zvrátit výskyt znaků prostřednictvím třídy StringBuilder. Metodu reverse () provádíme na stejných vstupních hodnotách, které jsme použili během 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ýstup:
Scénáře
Scénář 1: Převrátit řetězec bez použití metody StringBuilder nebo StringBuffer reverse ().
Vysvětlení: V tomto scénáři vám ukážeme, jak obrátit znaky řetězce bez použití metody reverse ().
Vzali jsme vstupní řetězec a poté jej převedli na znak Array. Pomocí smyčky for jsme vytiskli znaky v opačném pořadí.
jak inicializovat propojený seznam v javě
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ýstup:
Scénář 2: Obrátit všechny znaky pomocí metody Split ().
Vysvětlení: Toto je další způsob, jak zvrátit výskyt znaků řetězce. V tomto scénáři použijeme metodu Split () k rozdělení každého znaku řetězce a pomocí smyčky for vytiskneme každý znak v opačném pořadí výskytu.
Zde jsme provedli vstup přes konzolu pomocí třídy skeneru.
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ýstup:
Scénář 3: Obraťte všechny postavy pomocí Swapping.
Vysvětlení: Toto je ještě další způsob, jak obrátit znaky řetězce. Zde jsme inicializovali „i“ a délku = 0.
Uvnitř smyčky for jsme analyzovali znaky z obou stran tak, že jsme udrželi „i“ rovné nule, s přírůstkem o 1 a délkou o 1 pro každé srovnání mezi počátečním indexem a posledním indexem. V této podmínce jsme pokračovali, dokud se délka „i“ nestane „stejnou“ nebo „větší než“.
Nakonec jsme pomocí smyčky forEach vytiskli 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ýstup:

Často kladené otázky
Otázka č. 1) Existuje v Javě metoda reverzní () řetězce?
Odpovědět: Ne. Třída String nemá metodu reverse (). Řetězec však můžete obrátit pomocí několika způsobů v samotné třídě String. StringBuilder, StringBuffer a Collections také podporují metodu reverse ().
Otázka č. 2) Jak můžeme převést StringBuilder na String?
Odpovědět: Níže je uveden program, ve kterém jsme převedli 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ýstup:

Otázka č. 3) Seznamte rozdíl mezi String, StringBuilder a StringBuffer?
testování otázek a odpovědí na pohovory pro zkušené
Odpovědět: Níže je uveden rozdíl mezi String, StringBuilder a StringBuffer.
Tětiva StringBuffer StringBuilder A String je třída Immutable. StringBuffer je třída Mutable, která je synchronizovaná (bezpečná pro vlákna). StringBuilder je také třída Mutable, která není synchronizovaná. String je méně efektivní než StringBuffer a StringBuilder, protože pokaždé, když provádíme manipulaci s řetězcem, vytvoří nový řetězec a vyhodí starý řetězec pro sběr odpadu. StringBuffer je méně efektivní. StringBuilder je efektivnější než StringBuffer. String je pomalejší než StringBuffer, když spojujeme více řetězců, protože pokaždé vytváří novou instanci. StringBuffer je pomalejší než StringBuilder. StringBuilder je rychlý, protože je nesynchronizovaný.
Otázka č. 4) Jak převést znak na řetězec v Javě?
Odpovědět: Můžeme převést znak na řetězec pomocí vestavěné metody „toString ()“.
Doporučené čtení => Jak převádět Char to String v Javě
Níže je uveden program, kde jsme použili metodu toString () k převodu znaku na řetězec.
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ýstup:

Otázka č. 5) Napište program Java a zkontrolujte, zda je řetězec palindrom nebo ne (pomocí StringBuffer).
Odpovědět: Můžeme použít kterýkoli z reverzních programů String (ilustrovaných výše) a poté přidat podmínku, abychom zkontrolovali, zda je nebo není palindrom.
Níže je uveden ukázkový program.
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ýstup:

Otázka č. 6) Jak převrátit řetězec v Javě slovo od slova?
Odpovědět: Můžete převrátit řetězec v jazyce Java (slovo za slovem) pomocí vestavěné metody Java String Split (). Vše, co musíte udělat, je předat mezery metodou Split ().
Podívejte se na níže uvedený ukázkový program.
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ýstup:

Otázka č. 7) Je StringBuilder bezpečný pro vlákna? Proč je StringBuilder rychlejší než StringBuffer?
Odpovědět: Ne, StringBuilder není bezpečný pro vlákna ani synchronizovaný. StringBuffer je bezpečný pro vlákna. StringBuilder je tedy považován za rychlejší než StringBuffer.
Závěr
V tomto kurzu jsme se dozvěděli o metodě Java String reverse () a různých technikách, kterými můžete String převrátit.
Kromě toho jsme se zabývali dostatečnými častými dotazy a příklady programování, které vám pomohou porozumět metodě reverse ().
=> Navštivte zde a prohlédněte si sérii školení Java pro všechny.
Doporučené čtení
- Obrátit pole v Javě - 3 metody s příklady
- Výukový program Java String | Metody řetězců Java s příklady
- Výukový program Java String Array - příklady kódu
- Výukový program Java String s funkcí String Buffer a String Builder
- Metoda délky Java String () S příklady
- Java String obsahuje () Výukový program metod s příklady
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Metoda Java String compareTo s příklady programování