Java实现排列组合--递归

来源:互联网 发布:2017淘宝店铺装修 编辑:程序博客网 时间:2024/06/05 00:44
多个数组排列组合如下: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);  }  }  }  }  }  }


0 0