Javaは複数の配列間の配列の組み合わせを実現する。


Java複数の配列の間の配列の組み合わせは、具体的な内容は以下の通りです。
説明:いくつかの携帯電話は各色、各サイズ、各バージョンがあり、それぞれの属性の組み合わせを実現します。
各種属性の定義

String[] color={"  ","  ","  ","  "};
String[] size={"4.7 ","5.1 ","6.0 "};
String[] version={"  ","  ","  ","   "};

まず結果を見ます
赤、4.7寸、全網通、
赤、4.7インチ、移動、
レッド、4.7インチ、電信、
レッド、4.7インチ、ユニオン、
赤、5.1インチ、全網通、
白、5.1インチ、移動、
白、5.1インチ、ユニオン、
白、6.0寸、全網通、……こんなにたくさん貼ったら、分かるはずです。
コードを入れます

public void doExchange(List arrayLists){

   int len=arrayLists.size();
   //    size    2,             ,       ,  ?     
   if (len<2){
    this.arrayLists=arrayLists;
    return;
   }
   //       
   int len0;
   if (arrayLists.get(0) instanceof String[]){
    String[] arr0= (String[]) arrayLists.get(0);
    len0=arr0.length;
   }else {
    len0=((ArrayList<String>)arrayLists.get(0)).size();
   }

   //       
   String[] arr1= (String[]) arrayLists.get(1);
   int len1=arr1.length;

   //                   
   int lenBoth=len0*len1;

   //             
   ArrayList<ArrayList<String>> tempArrayLists=new ArrayList<>(lenBoth);

   //   for    arrayLists      
   for (int i=0;i<len0;i++){
    //   for    arrayLists      
    for (int j=0;j<len1;j++){ 
     //              ,      
     if (arrayLists.get(0) instanceof String[]){
      String[] arr0= (String[]) arrayLists.get(0);
      ArrayList<String> arr=new ArrayList<>();
      arr.add(arr0[i]);
      arr.add(arr1[j]);
      //             
      tempArrayLists.add(arr);
     }else {
      //             ,               arrayLists        
      ArrayList<ArrayList<String>> arrtemp= (ArrayList<ArrayList<String>>) arrayLists.get(0);
      ArrayList<String> arr=new ArrayList<>();
      for (int k=0;k<arrtemp.get(i).size();k++){
       arr.add(arrtemp.get(i).get(k));
      }
      arr.add(arr1[j]);
      tempArrayLists.add(arr);
     }
    }
   }

   //                    
   List newArrayLists=new ArrayList<>();
   //           ,   i=2  ,             ,        
   for (int i=2;i<arrayLists.size();i++){
    newArrayLists.add(arrayLists.get(i));
   }
   //                      ,     
   newArrayLists.add(0,tempArrayLists);

   //    ,                 。
   doExchange(newArrayLists);
  }
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。