SKU排列算法的实现

` public static void main(String[] args) {
Object sku [] = new Object[3];
String s1[]={"黑","白"};
String s2[]={"x","xl","xxxl"};
String s3[]={"长","短"};
sku[0]=s1;
sku[1]=s2;
sku[2]=s3;
String []skuArray=process(sku);
System.out.println(Arrays.toString(skuArray));
}

public static String[] process(Object sku[]){
  int len = sku.length;
  if(len>=2){
      String  s1[]= (String[]) sku[0];
      int len1=s1.length;
      String  s2[]= (String[]) sku[1];
      int len2=s2.length;

      int len3=len1*len2;
      int index=0;
      String items[]=new String[len3];
      for(int i = 0; i < len1; i++) {
          for(int j = 0; j < len2; j++) {
              items[index] = ((String[]) sku[0])[i] + ";" + ((String[]) sku[1])[j];
              index++;
          }
      }
      // 将新组合的数组并到原数组中
      Object newArr[]=new Object[len-1];
      for(int i = 2; i < sku.length; i++) {
          newArr[i - 1] = sku[i];
      }
      newArr[0] = items;
      return process(newArr);

  }else {
      return (String[]) sku[0];
  }
}`
posted @ 2021-01-20 21:29  末端逆袭  阅读(50)  评论(0)    收藏  举报