多个数组排列组合
如下:
String[] color = { "红", "蓝","黑"};
String[] size = { "S", "M", "L" };
String[] other = { "a", "b" };
... ...
排列结果:
红,S,a
红,S,b
红,M,a
红,M,b
红,L,a
红,L,b
蓝,S,a
蓝,S,b
蓝,M,a
蓝,M,b
蓝,L,a
蓝,L,b
黑,S,a
黑,S,b
黑,M,a
黑,M,b
黑,L,a
黑,L,b
... ...
示例代码:
package com.test;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
String[] color = { "红", "蓝","黑"};
String[] size = { "S", "M", "L" };
String[] other = { "a", "b" };
List<String[]> list = new ArrayList<String[]>();
list.add(color);
list.add(size);
list.add(other);
sorting (list, color, "");
}
public static void sorting (List<String[]> list, String[] arrs, String str) {
for (int i = 0; i < list.size(); i++) {
//取得当前的数组
if (i == list.indexOf(arrs)) {
//迭代数组
for (String arr : arrs) {
arr = str + arr;
if(i < list.size() - 1){
arr = arr + ",";
sorting (list, list.get(i + 1), arr);
} else if (i == list.size() - 1) {
System.out.println(arr);
}
}
}
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-11720.html