for数组嵌套循环问题

洋洋198209 2009-03-19 12:19:50
有以下代码,我想把1与ab,2与cd等..每组成一个集合存入beans,也就是secondArray每配对两个元素与FirstArray一个元素组合,secondArray向后递减,下面代码是将每个firstArray元素与所有secondArray元素配对,想改1配对ab,2配对cd....5配对ij,不知如何修改?

List<FirstBean> beans = new ArrayList<FirstBean>();

String[] firstArray = new String[]{"1","2","3","4","5"};
String[] secondArray = new String[]{"a","b","c","d","e","f","g","h","i","j"};

for(int i=0; i<firstArray.length; i++){

FirstBean firstBean = new FirstBean();
firstBean.setValue1(value1);
firstBean.setValue2(value2);

Set<SecondBean> beanSet = new HashSet<SecondBean>();

for(int j=0; i<secondArray.length; j++){

SecondBean secondBean = new SecondBean();
secondBean.setvalue1(value1);
secondBean.setvalue2(secondArray[j]);//此处只是将所有secondArray元素与每个firstArray元素配对

beanSet.add(secondBean);

}
firstBean.setSecondBean(beanSet);

beans.add(firstBean);
}
...全文
242 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodmrning 2009-03-19
  • 打赏
  • 举报
回复
先将secondArray匹配好,再与firstArray匹配。
String[] temp=new String[secondArray.length/2];
for(int i=0;i<secondArray.length;i=i+2)
{
......................
}
huguang 2009-03-19
  • 打赏
  • 举报
回复
如果只是你说的firstArray和secondArray,没必要用嵌套循环了。而且好像嵌套不行!!!
比如,直接
for (int i=0; i<5; i++) {
String value1 = firstArray[i] + secondArray[i*2] + secondArray[i*2+1];
}
不知道你要干什么,应该是这个思路吧
meteor57 2009-03-19
  • 打赏
  • 举报
回复
setvalue(secondArray[0] + secondArray[1])不就是配对了么?

secondArray向后递减
什么意思?
洋洋198209 2009-03-19
  • 打赏
  • 举报
回复
搞定了,在外面加多个变量,内循环两次就可以了
List <FirstBean> beans = new ArrayList <FirstBean>();

String[] firstArray = new String[]{"1","2","3","4","5"};
String[] secondArray = new String[]{"a","b","c","d","e","f","g","h","i","j"};
int index = 0;
for(int i=0; i <firstArray.length; i++){

FirstBean firstBean = new FirstBean();
firstBean.setValue1(value1);
firstBean.setValue2(value2);

Set <SecondBean> beanSet = new HashSet <SecondBean>();

for(int j=0; i <2; j++){

SecondBean secondBean = new SecondBean();
secondBean.setvalue1(value1);
secondBean.setvalue2(secondArray[index]);

beanSet.add(secondBean);
index += 1;
}
firstBean.setSecondBean(beanSet);

beans.add(firstBean);
}
meteor57 2009-03-19
  • 打赏
  • 举报
回复
还是不是很明白,正在怀疑自己的理解能力....
-_-~~~

你直接说:把哪些数据,用哪个方法,如何配对,并存入,我想大家就明白了.
呵呵~~~
洋洋198209 2009-03-19
  • 打赏
  • 举报
回复
数据库关系其实就表A主键为1,有一条记录,表B主键为1,但表B有两条记录1,a和1,b,上面代码就是想实现这个目的插入数据的
洋洋198209 2009-03-19
  • 打赏
  • 举报
回复
向后递减其实就是for(int i=0; i <firstArray.length; i++)循环一次后,1与a,b配对存入beans里,第二次循环就是2与c,d配对存入了,这段代码其实是实现级联保存的,value1为FirstBean与SecondBean对应表的主键,FirstBean与SecondBean是一对多关系,刚才可能说的不是很清楚,不好意思, 还有goodmrning能不能贴出完整代码来啊?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧