日期:2014-05-17  浏览次数:21172 次

如何将两个List进行比较过滤出所要的数据。
现在有两个list,分别是list1,list2.
两个list都有相同的字段只是数据不一样,如:
list1:a        list2:b
       1              2
       2              3
       3              4

然后我想得出的结果是list1中有的而list2中没有的数据。

就是比较后,list1只有‘1’这个数据。

求一个详细而简单的例子!

刚学JSP,java也不怎么行。。。望解答,求理解!!

谢谢!

------解决方案--------------------
list1.removeAll(list2);
------解决方案--------------------

        List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
list2.add(2);
list2.add(3);
list2.add(4);
list1.removeAll(list2);
System.out.println(Arrays.toString(list1.toArray()));

------解决方案--------------------
List list1 = new ArrayList();
    List list2 = new ArrayList();
    list1.add(1);
    list1.add(46);
    list1.add(2);
    list1.add(3);
    list2.add(2);
    list2.add(3);
    list2.add(4);
    List list3 = new ArrayList();
    for(int i=0;i<list1.size();i++)
    {
     int a=(Integer) list1.get(i);
     int sf=0;
     for(int j=0;j<list2.size();j++)
    {
     int b=(Integer)list2.get(j);
     if(a==b)
     {
     sf=sf+1;
     }
    
    }
     if(sf==0)
     {
     list3.add(a);
     }
    
    
    }
    
    for(int i=0;i<list3.size();i++)
    {
     System.out.println(list3.get(i));
    
    }