JAVA三个集合LIST 取集合相同值合并

从数据库取出的LIST示例为(同一入库时间的相同货物都已SQL语句取值时合并)现有库存list1【入库时间,类型,重量】:[2016-6-2,A,26],[2016-6-... 从数据库取出的LIST示例为(同一入库时间的相同货物都已SQL语句取值时合并)
现有库存list1【入库时间,类型,重量】:[2016-6-2,A,26],[2016-6-2,B,26],[2016-6-2,C,26],[2016-6-3,A,26],[2016-6-3,D,26]
本月入库list2【入库时间,类型,重量】:[2016-6-3,A,26],[2016-6-3,D,26]
本月出库List3【该货物图库时间,类型,重量】:[2016-6-2,A,26]
最后输出list为
【入库时间,类型,现有库存重量,入库重量,出库重量】:[2016-6-2,A,26,null,26],[2016B,26,NULL,NULL],[2016-B,26,NULL,NULL].........
就是按照如果入库时间相同和类型相同 合并为一个集合,不相同的输出格式相同 空值填充为null,
简化一下list1=1,2,3
2,3,4
3,4,5
4,1,1
list2=2,3,1
3,4,2
1,2,5
*************************************************************
输出 1,2,3,5
2,3,4,1
3,4,5,2
4,1,1,0
展开
 我来答
运动一圈
2016-07-11 · TA获得超过949个赞
知道大有可为答主
回答量:964
采纳率:92%
帮助的人:489万
展开全部

List里面有一个“contains”的方法,可以知道list里面是否存在某个值:

 

import java.util.ArrayList;

import java.util.List;

 

public class I {

 

    public static void main(String[] args) {

 

        List<Integer> list1 = new ArrayList<Integer>();

        for (int i = 0; i < 7; i++) {

            list1.add(i);

        }

        List<Integer> list2 = new ArrayList<Integer>();

        for (int i = 3; i < 10; i++) {

            list2.add(i);

        }

        System.out.println("List1:" + list1);

        System.out.println("List2:" + list2);

        System.out.println("交集为" + getIntersection(list1, list2));

 

    }

 

    public static List<Integer> getIntersection(List<Integer> list1,

            List<Integer> list2) {

        List<Integer> result = new ArrayList<Integer>();

        for (Integer integer : list2) {//遍历list1

            if (list1.contains(integer)) {//如果存在这个数

                result.add(integer);//放进一个list里面,这个list就是交集

            }

        }

        return result;

    }

}

   

测试结果:

追问
数组的list  提问举例举得挺清楚
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式