参数: [1,2,3] [4,5,6] [7,8]
结果数量:3*3*2 = 18种
执行结果:
package com.sitech.bds.dg.dq.util;
import java.util.ArrayList;
import java.util.List;
public class DecareUtil {
public static void decare(int index,List<List<String>> all,List<String> temp) {
List<String> list = all.get(index);
int allSize = all.size();
int removeCount = allSize - index ;
for (int i=0;i<list.size();i++) {
String value = list.get(i);
if(i>0) {
for(int j=0;j<removeCount;j++) {
temp.remove(temp.size()-1);
}
}
temp.add(value);
if(index==allSize-1) {
System.out.println(temp);
}
if(index<allSize-1) {
decare(index+1,all,temp);
}
}
}
public static void main(String[] args) {
List<List<String>> all = new ArrayList<>();
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
List<String> list3 = new ArrayList<>();
list1.add(1+"");
list1.add(2+"");
list1.add(3+"");
list2.add(4+"");
list2.add(5+"");
list2.add(6+"");
list3.add(7+"");
list3.add(8+"");
all.add(list1); all.add(list2); all.add(list3);
decare(0,all,new ArrayList<>());
}
}