liugz168 2017-06-29 08:23 采纳率: 75%
浏览 4505
已采纳

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

JAVA中如何给将List增加列?

情况是这样的:
先从数据库中查询结果放到一个list1中,然后数据库中查询另外的结果放list2中,现在需要将list2的按列拼接到list1,如下图,根据大类将list2拼接到list1列的后面。
(实际情况中sql操作比较麻烦,所以只能分开查询再来拼接了)

图片说明

比如现在是list1是4行9列, 需要将list2的4列加到list1中,list1结果变成4行13列

  • 写回答

10条回答 默认 最新

  • 蚂蚁冲锋队 2017-06-29 10:16
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样