Java实现排列组合--递归

    xiaoxiao2021-03-25  126

    多个数组排列组合 如下: 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

    最新回复(0)