Salve ragazzi, vi riporto il mio problema:

Ho un array di n stringhe (supponiamo 4)

codice:
String string[] = new String[4];
string[0] = "a";
string[1] = "b";
string[2] = "c";
string[3] = "d";
Devo trovare tutte le possibili combinazioni senza ripetizioni (spero di aver usato il termine statistico corretto) di tali elementi dell'array.
Cioè, in questo caso dovrei avere come risultato:

ab
ac
ad
bc
bd
cd
abc
abd
acd
bcd
abcd

Mi servirebbe un metodo Java generale (l'esempio che ho postato vale per 4 stringhe, ma il metodo dovrebbe funzionare anche per 6,7 e così via) che si occupi di restituirmi tale risultato.

Qualche consiglio?

Se avete già un metodo Java che fa tutto ciò, vi prego di postarlo

Grazie a tutti