Java元串反転(5 Ways To Reverse A String In Java)
java元文字列の反転について、本稿では5つの異なる方法を紹介します。
部分参考文章:http://javahungry.blogspot.com/2014/12/5-ways-to-reverse-string-in-java-with-example.html
前に書く: StringBufferクラスは、直接に文字列を反転させることができますが、Stringクラスにはこの方法がありません。 Stringクラスでは、文字列を1つのchar[]配列に変換することができるtoCharararray()方法を提供する。StringBuffer類にもこの方法は存在しない です。
JAVA APIを参照してください
StringBuffer類のpublic StringBuffer reverse()は、この文字列を反転させて代用します。シーケンス内にプロキシ項目が存在する場合、reverse動作では単一の文字として処理される。したがって、高−低エージェント項目の順序は反転しない。nがreverse方式を実行する前のこの文字列の文字長(char値の長さではない)であると仮定すると、新しい文字列のインデックスkの文字は元の文字列索引n-k-1の文字に等しくなります。は、このオブジェクトの参照です。
Stringクラスpublic char[]toCharararray()はこの文字列を新しい文字配列に変換します。返します。新しい割り当てられた文字列の長さはこの文字列の長さで、その内容はこの文字列の表現を含む文字列に初期化されます。
方法1:String類が持参するtoCharararray()を使用して、文字配列の最後のビットから印刷を開始します。
方法4:Java Collectionクラスでも、List<>listのパラメータがlistであるため、この方法を使用するには、Stringを文字配列に変換してlistに保存しなければならない。ここではLinked Listを使用して、挿入時に挿入順序を保持しているので、Linked Listを使用する。
部分参考文章:http://javahungry.blogspot.com/2014/12/5-ways-to-reverse-string-in-java-with-example.html
前に書く:
JAVA APIを参照してください
StringBuffer類のpublic StringBuffer reverse()は、この文字列を反転させて代用します。シーケンス内にプロキシ項目が存在する場合、reverse動作では単一の文字として処理される。したがって、高−低エージェント項目の順序は反転しない。nがreverse方式を実行する前のこの文字列の文字長(char値の長さではない)であると仮定すると、新しい文字列のインデックスkの文字は元の文字列索引n-k-1の文字に等しくなります。は、このオブジェクトの参照です。
Stringクラスpublic char[]toCharararray()はこの文字列を新しい文字配列に変換します。返します。新しい割り当てられた文字列の長さはこの文字列の長さで、その内容はこの文字列の表現を含む文字列に初期化されます。
方法1:String類が持参するtoCharararray()を使用して、文字配列の最後のビットから印刷を開始します。
import java.io.*;
import java.util.*;
public class reverseString {
public static void main(String[] args) {
String input="";
System.out.println("Enter the input string");
try
{ //
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
input = br.readLine();
char[] try1= input.toCharArray();
for (int i=try1.length-1;i>=0;i--){
System.out.print(try1[i]);
}
}
catch (IOException e) {
e.printStackTrace();
}
}}
方法2:StringBuffer類が持参するreverse()を使って、文字配列の第一位から印刷を開始します。import java.io.*;
import java.util.*;
public class reverseString {
public static void main(String[] args) {
String input="AliveisAwesome";
StringBuilder input1 = new StringBuilder();
input1.append(input);
input1=input1.reverse();
for (int i=0;iout.print(input1.charAt(i));
}
}
}
方法3:toCharararray()変換後の文字配列要素を逆順化し、A[N-1]とA[0]を交換し、A[N-2]とA[1]を交換します。Left==Rightまで。import java.io.*;
import java.util.*;
public class reverseString {
public static void main(String[] args) {
String input = "Be in present";
char[] temparray= input.toCharArray();
int left,right=0;
right=temparray.length-1;
for (left=0; left < right ; left++ ,right--)
{
//
char temp = temparray[left];
temparray[left] = temparray[right];
temparray[right]=temp;
}
for (char c : temparray)
System.out.print(c);
System.out.println();
}
}
==========以下の方法はまだ完全ではないので、間違いがあれば指摘を歓迎します。============================================================方法4:Java Collectionクラスでも、List<>listのパラメータがlistであるため、この方法を使用するには、Stringを文字配列に変換してlistに保存しなければならない。ここではLinked Listを使用して、挿入時に挿入順序を保持しているので、Linked Listを使用する。
import java.io.*;
import java.util.*;
public class reverseString {
public static void main(String[] args) {
String input = "Be in present";
char[] hello=input.toCharArray();
List trial1= new LinkedList<>();
for(char c: hello)
trial1.add(c);
Collections.reverse(trial1);
ListIterator li = trial1.listIterator();
while(li.hasNext()){
System.out.print(li.next());}
}
}