اگه درست فهمیده باشم شما چنین چیزی میخواید :
ArrayList<String> strs = new ArrayList<>();
strs.add("One");
strs.add("Two");
strs.add("Three");
ArrayList<String> temp = new ArrayList<>();
for (String str : strs) {
change(str, temp, str.length());
}
//یکی از این دو
//1
// strs.addAll(temp);
//2
strs = temp;
for (String str : strs) {
System.out.println(str);
}
اینم متد change ( به صورت بازگشتی ):
public static void change(String str, ArrayList<String> tempArray, int depth) {
if (depth <0) return;
tempArray.add(str.substring(0, depth) + "." + str.substring(depth, str.length()));
change(str, tempArray, depth-1);
}
خروجی :
One.
On.e
O.ne
.One
Two.
Tw.o
T.wo
.Two
Three.
Thre.e
Thr.ee
Th.ree
T.hree
.Three