import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class 组合所有情况 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
for(int i = 1;i<=list.size();i++){
combine(list,0,3,i,new HashSet());
}
}
private static void combine(List list, int start, int end, int length,
HashSet hashSet) {
if(length ==0){
System.out.println(hashSet.toString());
return;
}
for(int i = start ;i<=end - length + 1;i++){
hashSet.add(list.get(i));
combine(list, i+1, end, length-1, hashSet);
hashSet.remove((list.get(i)));
}
}
}
运行结果:
[1]
[2]
[3]
[4]
[1, 2]
[1, 3]
[1, 4]
[2, 3]
[2, 4]
[3, 4]
[1, 2, 3]
[1, 2, 4]
[1, 3, 4]
[2, 3, 4]
[1, 2, 3, 4]
list中的组合所有情况(无需排列,只是组合所有的情况)
最新推荐文章于 2023-03-10 08:20:14 发布