首页javastringJava Data Type - 如何创建字符的排列

Java Data Type - 如何创建字符的排列

我们想知道如何创建字符的排列。
import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    String diagonal = "asdf";
    List<String> permutations = allPermutation("", diagonal);
    System.out.println("size is : " + permutations.size());
    System.out.println(permutations);
  }

  public static List<String> allPermutation(String permutation, String letters) {
    List<String> list = new ArrayList<>();
    if (letters.isEmpty()) {
      list.add(permutation);
      return list;
    }

    for (int i = 0; i < letters.length(); i++) {
      list.addAll(allPermutation(permutation + letters.charAt(i),
          removeCharAt(i, letters)));
    }

    return list;
  }

  public static String removeCharAt(int pos, String text) {
    return text.substring(0, pos) + text.substring(pos + 1, text.length());
  }
}