两个list比较,取出一个list里面包含在另一个list里面的数据和不包含在里面的数据

   //ls2和ls3分别为要进行操作的数据list
    List listx=new ArrayList();//将选择的人员姓名分为两拨,这里存放1
    List listy=new ArrayList();//将选择的人员姓名分为两拨,这里存放2
    for(int i=0;i<ls3.size();i++){//存放是1的所有人姓
    			String x=(String)ls3.get(i);
    			int count=0;
    			for(int j=0;j<ls2.size();j++){//存放点击选择的姓名
    				String y=(String)ls2.get(j);
    				if(x.equals(y)){//这里判别出来已经是1的进行修改
    					listx.add(x);
    					count++;
    				}
    			}
    			if(count==0){
    				listy.add(x);
    			}
    		}
      //如果取到的数据刚好相反,你就把两个循环换一下
public static void main(String[] args) throws Exception {
        List<Integer> all = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);//全部数据
        List<Integer> part = Arrays.asList( 2, 3, 5, 6, 9);//部分数据
        List<Integer> result = new ArrayList<>();//取出差的数据
        result =  all.stream().filter(item->part.stream().allMatch(each->!item.equals(each))).collect(Collectors.toList());
        System.out.println(result);
    }

在这里插入图片描述


版权声明:本文为lovely960823原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。