如有数组[["白色","黑色"],["64GB","128GB"],["中国移动","中国联通"]]要拼接返回一个数组如["白色/64GB/中国移动","黑色/64GB/中国移动","白色/128GB/中国移动","黑色/128GB/中国移动","白色/64GB/中国联通","黑色/64GB/中国联通","白色/128GB/中国联通","黑色/128GB/中国联通"]问题是 数组[["白色","黑色"],["64GB","128GB"],["中国移动","中国联通"]] 不是固定的的 可能只有一个数组 可能有两个数组 可能有三个数组 可能有四个数组数组里的值也不固定 ,可能只有一个,可能有5个有大神在吗?
1 回答

眼眸繁星
TA贡献1873条经验 获得超9个赞
public class test { public static List> source;public static void main(String[] args) { source = new ArrayList<>(); List<String> a = new ArrayList<String>(); a.add("黑色"); a.add("白色"); List<String> b = new ArrayList<String>(); b.add("64G"); b.add("128G"); List<String> c = new ArrayList<String>(); c.add("中国联通"); c.add("中国移动"); source.add(a); source.add(b); source.add(c); ArrayList<String> result = new ArrayList<>(); recursion(result, source.get(0), 0, ""); System.out.println(result); } public static void recursion(List<String> result, List<String> para, int num, String choose) { for (int i = 0; i < para.size(); i++) { if (source.size() == num + 1) { result.add(choose + "/" + para.get(i)); } else { recursion(result, source.get(num + 1), num + 1, choose + "/" + para.get(i)); } } } }
添加回答
举报
0/150
提交
取消