在网上看了看,一般都用的递归,一个小demo
import java.util.ArrayList;
import java.util.List;
public class Test01 {
public static void main(String[] args) {
String[] arr1 = {"1", "2", "3"};
String[] arr2 = {"a", "b"};
String[] arr3 = {"#", "$"};
List<String[]> list = new ArrayList<>();
list.add(arr1);
list.add(arr2);
list.add(arr3);
test(list, arr1, "");
}
public static void test(List<String[]> list, String[] arr, String str) {
for (int i = 0; i < list.size(); i++) {
if (i == list.indexOf(arr)) {
for (String st : arr) {
st = str + st;
if (i < list.size() - 1) {
test(list, list.get(i + 1), st);
} else if (i == list.size() - 1) {
System.out.println(st);
}
}
}
}
}
}