java reverse string tutorial with programming examples
このチュートリアルでは、例を使用して、StringBuilderクラスとStringBufferクラスのReverse()メソッドを使用してJavaで文字列を逆にする方法を学習します。
ここでは、reverse()String Javaメソッドとその使用法について、十分なプログラミング例、FAQ、およびこのメソッドの適用可能な領域についてのアイデアを提供するシナリオベースの質問とともに説明します。
このチュートリアルを完了すると、reverse()String Javaメソッドをよりよく理解できるようになり、さまざまなString処理プログラムにメソッドを独自に適用できるようになります。
=> ゼロからJavaを学ぶには、ここにアクセスしてください。
学習内容:
Java逆文字列
始める前に、Java Stringクラスは不変であり、reverse()メソッドがないことを理解する必要があります。ただし、StringBuilderクラスとStringBufferクラスには、Javaのreverse()メソッドが組み込まれています。
名前が示すように、reverse()メソッドは、文字列のすべての文字の出現順序を逆にするために使用されます。
構文:
StringBuffer reverse()
StringBuffer逆文字列
この例では 、String変数を初期化し、そのStringのすべての文字をStringBufferに格納しました。次に、reverse()メソッドを使用して、文字列の文字の出現を逆にしました。
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); } }
出力:
StringBuilderリバースストリング
この例では、 StringBuilderクラスを使用して文字の出現を逆にしようとしています。 StringBufferで使用したのと同じ入力値に対してreverse()メソッドを実行しています。
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); } }
出力:
シナリオ
シナリオ1:シナリオ1: StringBuilderまたはStringBufferreverse()メソッドを使用せずに文字列を反転します。
説明: このシナリオでは、reverse()メソッドを使用せずに文字列の文字を反転する方法を示します。
入力文字列を取得し、それを文字配列に変換しました。 forループの助けを借りて、文字を逆の順序で印刷しました。
swfファイルとは何ですかそれを開く方法
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)); } } }
出力:
シナリオ2:シナリオ2: Split()メソッドを使用してすべての文字を反転します。
説明: これは、文字列の文字の出現を逆にする別の方法です。このシナリオでは、Split()メソッドを使用して文字列の各文字を分割し、forループを使用して、各文字を出現順に逆の順序で出力します。
ここでは、スキャナークラスを使用してコンソールから入力を取得しました。
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) + ''); } } }
出力:
シナリオ3: スワッピングを使用してすべての文字を反転します。
説明: これは、文字列の文字を逆にするもう1つの方法です。ここでは、「i」と長さ= 0を初期化しました。
forループ内では、最初のインデックスと最後のインデックスを比較するたびに、「i」をゼロに保ち、1ずつインクリメントし、長さを1ずつデクリメントすることで、両側から文字を解析しました。 「i」が長さに「等しい」または「より大きい」になるまで、この条件を継続しました。
最後に、forEachループを使用して、各文字を印刷しました。
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 出力:

よくある質問
Q#1)Javaにreverse()Stringメソッドはありますか?
回答: いいえ。Stringクラスにはreverse()メソッドがありません。ただし、Stringクラス自体で複数の方法を使用してStringを逆にすることができます。また、StringBuilder、StringBuffer、およびCollectionsはreverse()メソッドをサポートしています。
Q#2) StringBuilderをStringに変換するにはどうすればよいですか?
回答: 以下に示すのは、StringBuilderに格納されている要素を文字列に変換したプログラムです。
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); } }
出力:

Q#3) String、StringBuilder、StringBufferの違いをリストアップしますか?
Webアプリケーション用のストレステストツール
回答: 以下に、String、StringBuilder、およびStringBufferの違いを示します。
ストリング StringBuffer StringBuilder 文字列は不変のクラスです。 StringBufferは、同期された(スレッドセーフな)Mutableクラスです。 StringBuilderは、同期されていないMutableクラスでもあります。 文字列は、文字列操作を実行するたびに新しい文字列を作成し、ガベージコレクションのために古い文字列をスローするため、StringBufferやStringBuilderよりも効率が低くなります。 StringBufferは効率が悪くなります。 StringBuilderはStringBufferよりも効率的です。 複数の文字列を連結すると、毎回新しいインスタンスが作成されるため、文字列はStringBufferよりも遅くなります。 StringBufferはStringBuilderよりも低速です。 StringBuilderは同期されていないため、高速です。
Q#4) JavaでcharをStringに変換するにはどうすればよいですか?
回答: 組み込みメソッド「toString()」を使用して、文字を文字列に変換できます。
推奨読書=>変換する方法 Javaの文字から文字列
以下に示すのは、toString()メソッドを使用してcharをStringに変換したプログラムです。
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); } }
出力:

Q#5) 文字列が回文であるかどうかを確認するJavaプログラムを作成します(StringBufferを使用)。
回答: 文字列リバースプログラム(上記)のいずれかを使用してから、条件を追加して、それが回文であるかどうかを確認できます。
プログラムの例を以下に示します。
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'); } }
出力:

Q#6) Javaの文字列を単語ごとに逆にする方法は?
回答: 組み込みのJavaString Split()メソッドを使用して、Javaで文字列を(単語ごとに)逆にすることができます。あなたがする必要があるのは、Split()メソッドで空白を渡すことだけです。
以下のサンプルプログラムをチェックしてください。
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) + ' '); } } }
出力:

Q#7) StringBuilderはスレッドセーフですか? StringBuilderがStringBufferよりも速いのはなぜですか?
回答: いいえ、StringBuilderはスレッドセーフまたは同期されていません。 StringBufferはスレッドセーフです。したがって、StringBuilderはStringBufferよりも高速であると見なされます。
結論
このチュートリアルでは、Java String reverse()メソッドと、Stringを逆にするためのさまざまな手法について学習しました。
さらに、reverse()メソッドを理解するのに役立つ十分なFAQとプログラミング例についても説明しました。
=> すべてのJavaトレーニングシリーズを見るには、ここにアクセスしてください。
推奨読書