Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでArrayListを使用して文字列のすべての順列を出力します


この問題では、サイズnの文字列が与えられ、文字列のすべての順列を出力する必要があります。ただし、今回はArrayListを使用してこの順列を出力する必要があります。

問題を理解するために例を見てみましょう-

入力- string =‘XYZ’

出力- XYZ、XZY、YXZ、YZX、ZXY、ZYX

この問題を解決するために、文字列の文字のすべての順列を生成します。再帰関数を使用して、arrayListを返します。

以下はアルゴリズムのArrayList実装です-

 import java.util.ArrayList; public class Main {static void printArrayList(ArrayList  combo){combo.remove( ""); for(int i =0; i  generatePermutation(String str){if(str.length()==0){ArrayList  empty =new ArrayList <>(); empty.add( "");空を返します。 } char ch =str.charAt(0);文字列subStr=str.substring(1); ArrayList  lastCombination =generatePermutation(subStr); ArrayList  newCombination =new ArrayList <>(); for(String val:lastCombination){for(int i =0; i <=val.length(); i ++){newCombination.add(val.substring(0、i)+ ch + val.substring(i)); }} return newCombination; } public static void main(String [] args){String str ="NOPQ"; System.out.println( "文字列の順列は:"); printArrayList(generatePermutation(str)); }} 

出力

文字列の順列は次のとおりです。 
  1. Javaのflexjsonライブラリを使用してJSONをきれいに印刷しますか?

    Flexjson 軽量です シリアル化用のJavaライブラリ および逆シリアル化 java Bean、マップ、配列 、およびコレクション JSON フォーマット。 JSONSerializer は、JavaオブジェクトのJSONへのシリアル化を実行するためのメインクラスであり、デフォルトでは浅いを実行します。 シリアル化 。 きれいに印刷できます prettyPrint(booleanprettyPrint)を使用したJSON JSONSerializerの方法 クラス。 構文 public JSONSerializer prettyPrint(boolean prettyPrin

  2. JavaでGsonライブラリを使用してJSONをきれいに印刷するにはどうすればよいですか?

    Gson Googleによって作成されたJava用のJSONライブラリです。 Gsonを使用することで、JSONを生成できます JSONをJavaオブジェクトに変換します。デフォルトでは、GsonはJSONをコンパクト形式で印刷できます 。 Gsonプリティプリントを有効にするには 、 setPrettyPrinting()を使用してGsonインスタンスを構成する必要があります GsonBuilderのメソッド クラスとこのメソッドは、きれいに印刷するためにページに収まるJSONを出力するようにGsonを構成します。 構文 public GsonBuilder setPrettyPrint