0
点赞
收藏
分享

微信扫一扫

java实现多个List的笛卡儿积输出

爱读书的歌者 2022-08-23 阅读 79


参数: [1,2,3] [4,5,6] [7,8]

结果数量:3*3*2 = 18种

执行结果:

java实现多个List的笛卡儿积输出_java

package com.sitech.bds.dg.dq.util;

import java.util.ArrayList;
import java.util.List;

public class DecareUtil {

public static void decare(int index,List<List<String>> all,List<String> temp) {
List<String> list = all.get(index);
int allSize = all.size();
int removeCount = allSize - index ;
for (int i=0;i<list.size();i++) {
String value = list.get(i);
if(i>0) {
for(int j=0;j<removeCount;j++) {
temp.remove(temp.size()-1);
}
}

temp.add(value);

if(index==allSize-1) {
System.out.println(temp);
}

if(index<allSize-1) {
decare(index+1,all,temp);
}


}

}

public static void main(String[] args) {
List<List<String>> all = new ArrayList<>();
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
List<String> list3 = new ArrayList<>();
list1.add(1+"");
list1.add(2+"");
list1.add(3+"");

list2.add(4+"");
list2.add(5+"");
list2.add(6+"");

list3.add(7+"");
list3.add(8+"");

all.add(list1); all.add(list2); all.add(list3);
decare(0,all,new ArrayList<>());



}
}

 

举报

相关推荐

0 条评论