JAVA中如何给将List增加列?
情况是这样的:
先从数据库中查询结果放到一个list1中,然后数据库中查询另外的结果放list2中,现在需要将list2的按列拼接到list1,如下图,根据大类将list2拼接到list1列的后面。
(实际情况中sql操作比较麻烦,所以只能分开查询再来拼接了)
比如现在是list1是4行9列, 需要将list2的4列加到list1中,list1结果变成4行13列
JAVA中如何给将List增加列?
情况是这样的:
先从数据库中查询结果放到一个list1中,然后数据库中查询另外的结果放list2中,现在需要将list2的按列拼接到list1,如下图,根据大类将list2拼接到list1列的后面。
(实际情况中sql操作比较麻烦,所以只能分开查询再来拼接了)
比如现在是list1是4行9列, 需要将list2的4列加到list1中,list1结果变成4行13列
你的意思应该是:两个列表list1、list2 可以看着两个二维矩阵 matrix1、matrix2
比如:matrix1=
[00,01,02]
[10,11,12]
[20,21,22]
matrix2=
[a0,a1,a2]
[b0,b1,b2]
[c0,c1,c2]
所谓的列追加就是
matrix3=
[00,01,02, a0,a1,a2]
[10,11,12, b0,b1,b2]
[20,21,22, c0,c1,c2]
这样应该没理解错吧
回到你的问题,
先进行可行性分析:
List list 中的每一个成员相当于矩阵的一行,而要实现列追加相当于每一行都要增加成员,
一般情况下Object中的成员变量是固定写死的,get() 、set() 方法都是针对已有的成员变量来实现的,所以如果Object写死了也就意味着
列追加是不可实现的(当然这只是我个人认为)
解决方案1:
自定义的Object需要预留多个成员变量(比如: resv0、resv1、resv2、resv3、resv4 ... 个数要大于用于追加的列表(List2)的列数,
当然名称可以改为更具识别性的名字,切记不能与已有的成员重名)并为他们写好get() 、set()方法。
int len1=List1.size();
int len2=List2.size();
for(int i=0;i<len1;i++){
for(int j=0;j<len2;j++){
Object1 obj=List1.get(i); //Object1 Object2 自定义的数据类
Object2 obj2=List2.get(j);
obj.setX0(obj2.getX0());
obj.setX1(obj2.getX1());
obj.setX2(obj2.getX2());
obj.setX3(obj2.getX3());
}
}
解决方案2:
提供一种思路
建议一个大的表table0,包含table1和table2的所有列,然后循环将List1 List2中的内容通过sql语句添加的table0中,那么得到的table0
的每一个行就是原来两个表的列追加了。