有一个List对象,其中包含了n个List,这n个List中由包含不同数量的某种对象,每个List中的对象数量最少有一个,最多不限,如下的树型结构:
RootList--
|_A List
|_A1
|_A2
|_B List
|_B1
|_B2
|_B3
|_C List
|_C1A List、B List、C List都是List,A1、A2、B1、B2、B3、C都是相同类的不同实例。
结果是从A List获取一个成员成员、从B List获取一个成员、从C List获取一个成员得到一个组合结果
这样不同下去,获得所有的组合,如上例子中的结果是:
A1 B1 C1
A1 B2 C1
A1 B3 C1
A2 B1 C1
A2 B2 C1
A2 B3 C1
谁能有好的算法得到这个结果集合。
RootList--
|_A List
|_A1
|_A2
|_B List
|_B1
|_B2
|_B3
|_C List
|_C1A List、B List、C List都是List,A1、A2、B1、B2、B3、C都是相同类的不同实例。
结果是从A List获取一个成员成员、从B List获取一个成员、从C List获取一个成员得到一个组合结果
这样不同下去,获得所有的组合,如上例子中的结果是:
A1 B1 C1
A1 B2 C1
A1 B3 C1
A2 B1 C1
A2 B2 C1
A2 B3 C1
谁能有好的算法得到这个结果集合。
解决方案 »
- 关于退出JFrame窗口是询问是否要退出的问题
- 大家看看我这段代码问题在哪啊,老师给了我们一个文件,里面有几十万条记录,要求我们读出,在进行排序!
- 大学辍学!为了做JAVA程序员。各位大虾给个建议啊。
- 哪位朋友有JavaScript DOM 编程艺术电子版
- 来说说Vector和list
- 为什么我applet里面的图片经过多次刷新页面后就显示不出来:((
- java调用oracle存储过程报错
- 高分求救:怎样用java实现全文检索(主要是对文本文件)?100必送
- 谢谢各位对我发的帖子的关心和帮助!但是麻烦又来了!详细请进。。。!!我已经没有分了!帮帮我!up也欢迎!
- ASP和JAVA哪个更有优势!希望大家发表一下自己的看法!参与者有分!!!
- 我想用JAVA中的Swing包实现窗体的置前与最小化,大大们帮忙呀,我也想要code,发给我呀~~
- 【诚招】上海JAVA开发工程师
import java.util.List;
public class Assembled {
public static void main(String[] args){
List a = new ArrayList();
a.add("A1");
a.add("A2");
List b = new ArrayList();
b.add("B1");
b.add("B2");
b.add("B3");
List c = new ArrayList();
c.add("C1");
for(int i=0;i<a.size();i++){
for(int j=0;j<b.size();j++){
for(int k=0;k<c.size();k++){
System.out.println( ""+(String)a.get(i)+" "+(String)b.get(j)+" "+(String)c.get(k) );
}
}
}
}
}
if(a.size()==1){
return (List) a.get(0);
}
List first=(List) a.get(0);
List left=getCombination(a.subList(1,a.size()));
List ret=new ArrayList();
for(int i=0;i<first.size();i++){
for(int j=0;j<left.size();j++){
ret.add(String.valueOf(first.get(i))+left.get(j));
}
}
return ret;
}使用递归很方便,不过数据不可以太大!