JAVA中如何给将List<Object obj>增加列?

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
的每一个行就是原来两个表的列追加了。

没太搞懂你的意思,将list2拼接到list1列的后面,直接add方法不可以么?
如果是增加列,联表查询就可以了啊
SELECT * FROM List1,List2;

list1.addAll(list2);

把list1 和list2 的内容,分别保存到文件,然后2个文件内容追加就行了

看不懂什么意思,用List>装数据就好了,一个对象数据存一个map,你说的增加列看不懂什么意思

关联查询,把两张表的结果放到一起就行了

List1,List2里放的都是Map,循环两个List,大类名(最好是大类ID)为Key判断,相同Key的Map用map.addAll(---)把两个Map合到一起

不过要注意map.addAll方法会把相同key的值覆盖掉,所以两个list里的Map取名不能一样

addAll(这是加上的list)加到这个后面去了

两个表连接查询,用‘中年’,‘老年’等这列当where条件,例如:把"中年"当成一列,列名为“n”
select l1.* ,l2.* from list1 l1,list2 l2 where l1.n=l2.n;就可以了