Dá se použít například rekurze:
import java.util.ArrayList;
import java.util.List;
public class CharacterCombinations {
public static void main(String[] args) {
char[] charArray = {'a', 'b', 'c', 'd'};
int length = 4;
List<String> Combinations = getCombinations(charArray, new ArrayList<String>(), length, "");
System.out.println(Combinations);
}
private static List<String> getCombinations(char[] charArray, List<String> Combinations, int length, String prefix) {
if(prefix.length()==length){
Combinations.add(prefix);
}else{
for(int i=0; i<charArray.length; i++){
getCombinations(charArray, Combinations, length, prefix+charArray[i]);
}
}
return Combinations;
}
}