//文件数据
List<MSSAdviseStrategyPoolLocalVo> list1 = new ArrayList<>();
MSSAdviseStrategyPoolLocalVo localVo1 = new MSSAdviseStrategyPoolLocalVo();
localVo1.setFundId("111");
MSSAdviseStrategyPoolLocalVo localVo2 = new MSSAdviseStrategyPoolLocalVo();
localVo2.setFundId("222");
MSSAdviseStrategyPoolLocalVo localVo3 = new MSSAdviseStrategyPoolLocalVo();
localVo3.setFundId("333");
list1.add(localVo1);
list1.add(localVo2);
list1.add(localVo3);
//全量数据
List<MSSAdviseStrategyPoolBean> list2 = new ArrayList<>();
MSSAdviseStrategyPoolBean vo2 = new MSSAdviseStrategyPoolBean();
vo2.setFundId("222");
MSSAdviseStrategyPoolBean vo3 = new MSSAdviseStrategyPoolBean();
vo3.setFundId("333");
MSSAdviseStrategyPoolBean vo4 = new MSSAdviseStrategyPoolBean();
vo4.setFundId("444");
list2.add(vo2);
list2.add(vo3);
list2.add(vo4);
List<String> list1FundId = new ArrayList<>();
list1.stream().forEach(listVo -> list1FundId.add(listVo.getFundId()));
//list2集合fundId
List<String> list2FundId = new ArrayList<>();
list2.stream().forEach(listVo -> list2FundId.add(listVo.getFundId()));
//调入对象funds
List<String> list1FundIdNew = list1FundId.stream().filter(item -> !list2FundId.contains(item)).collect(toList());
//调出对象funds
List<String> list2FundIdNew = list2FundId.stream().filter(item -> !list1FundId.contains(item)).collect(toList());
//调入
List<MSSAdviseStrategyPoolLocalVo> list3 = list1.stream().filter(item -> list1FundIdNew.contains(item.getFundId())).collect(toList());
//调出
List<MSSAdviseStrategyPoolBean> list4 = list2.stream().filter(item -> list2FundIdNew.contains(item.getFundId())).collect(toList());
System.out.println(list1FundId);
System.out.println(list2FundId);
System.out.println(list3);
System.out.println(list4);
两个对象集合,比较对象中某个属性的差集
最新推荐文章于 2023-02-03 17:36:59 发布