java如何将多个查询出来的list集合的结果合并为一个list集合。

查询出来了几个list集合,但最终要的结果是几个集合的所有数据

图片描述

将这几个list集合中的数据合并到一个list集合中去,phone是唯一的,问过别人说是用Map集合做,但不知道从何下手

最终要的结果是一个list集合
图片描述

要怎么写代码才好啊!!!

阅读 15k
7 个回答

不知道是不是你的意思

public class testlist {
    private static ArrayList<List> list1 = new ArrayList<List>();//表一
    private static ArrayList<List> list2 = new ArrayList<List>();//表二
    private static ArrayList<List> list3 = new ArrayList<List>();//表三

    public static void main(String[] args) {
        //初始化数据
        setUpData();
        for (int i = 0 ; i < list1.size(); i++){
            list1.get(i).setMoney(list2.get(i).getMoney());
            list1.get(i).setDay(list3.get(i).getDay());
        }
        for (List item : list1){
            System.out.println(item.toString());
        }
    }

    public static void setUpData(){
        //初始化表一
        List s1 = new List("1234","122312",null,null);
        List s2 = new List("1235","32134321",null,null);
        List s3 = new List("1324","423424",null,null);
        List s4 = new List("1325","111111111",null,null);
        list1.add(s1);
        list1.add(s2);
        list1.add(s3);
        list1.add(s4);
        //初始化表二
        List s5 = new List("1234",null,"3141241",null);
        List s6 = new List("1235",null,"42134134",null);
        List s7 = new List("1324",null,"123513",null);
        List s8 = new List("1325",null,"222222222",null);
        list2.add(s5);
        list2.add(s6);
        list2.add(s7);
        list2.add(s8);
        //初始化表三
        List s9 = new List("1234",null,null,"22");
        List s10 = new List("1235",null,null,"33");
        List s11 = new List("1324",null,null,"11");
        List s12 = new List("1325",null,null,"44");
        list3.add(s9);
        list3.add(s10);
        list3.add(s11);
        list3.add(s12);
    }



}

图片描述

新手上路,请多包涵

addAll方法不可以?

List的addAll方法就可以,用其中的一个List使用addAll方法将其他的List加到里面去

这看起好奇怪啊。为什么不直接 select phone,createTime,money,day from table .
取得的结果就可以满足你的需求

看题主的描述和评论,我认为这是数据库可以做到的事情.三个表通过多表查询最后要显示在一个表里,是可以通过sql语句做到的。这不应该是Java语言应该做的事情,建议题主修改问题描述,描述有关于数据库查询方面的问题。

let list = list1.map((item, index) => {
    for(let attr in item) {
      let value = item[attr] || list2[attr] || list3[attr];
      item[attr] = value;
    }
    
    return item;
} )

写一个javabean,其中有phone,createtime,money,day这几个属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题