> valueLists = Lists.newArrayList();
for (ListlistList : listLists) {
for (int i = 0, size = listList.size() + 1; i < size; i++) {
String[] strings = new String[size];
strings[i] = value;
for (int j = 0; j < listList.size(); j++) {
if (j < i) {
strings[j] = listList.get(j);
} else {
strings[j + 1] = listList.get(j);
}
}
valueLists.add(Lists.newArrayList(strings));
}
}
return valueLists;
}
/**
* 获取数量 多一个参数等于在获取前一次list的基础上把单个list提出,
* 当前值可以放在list的索引最大位置+1处,表现公式为:f(n)= n * f(n-1)
*
* @param len
* @return
*/
private static int getSize(int len) {
if (len == 1) {
return 1;
}
return len * getSize(len - 1);
}
}