俩个不同对象的List获取交集通过属性来判断,JDK8Stream的使用

主要得代码:


public class EventTagsRuleMappingUtil {

    /**
     * 1、 主表标签转化为事件标签,
     * 2、 舆情事件入库且分组排序获取最高权重;
     * 3、 判断事件是否四级事件,没有获取四级事件
     * 4、 四级事件入库
     */
    public void mergeEventAndNewsTags(List<TbmNewsTags> tagsList, List<TbmEventTags> eventTags) {
        // 事件表主体可能为空,主表主体的标签要分离出来涉及证券+涉及公司
        if (CollectionUtils.isEmpty(tagsList)) {

        }

        List<TbmEventTags> otherEventTags = new ArrayList<>();
        List<TbmNewsTags> otherNewsTags = new ArrayList<>();


        otherNewsTags = tagsList.stream()
                .filter(item -> !eventTags.stream()
                        .map(e -> {
                            if (Objects.equals(item.getBusinessId(), e.getBusinessId())) {
                                return null;
                            } else {
                                return item.getBusinessId();
                            }
                        })
                        .collect(Collectors.toList())
                        .contains(item.getBusinessId()))
                .collect(Collectors.toList());
        otherNewsTags.stream().forEach(System.out::println);
    }


    public List<TbmNewsTags> createNewsTags() {
        List<TbmNewsTags> tagsList = new ArrayList<>();
        TbmNewsTags   tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(1L);
        tbmNewsTags.setId(1L);
        tbmNewsTags.setBusinessId("1");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(2L);
        tbmNewsTags.setId(2L);
        tbmNewsTags.setBusinessId("2");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(3L);
        tbmNewsTags.setId(3L);
        tbmNewsTags.setBusinessId("3");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(4L);
        tbmNewsTags.setId(4L);
        tbmNewsTags.setBusinessId("4");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(5L);
        tbmNewsTags.setId(5L);
        tbmNewsTags.setBusinessId("5");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(6L);
        tbmNewsTags.setId(6L);
        tbmNewsTags.setBusinessId("6");
        tagsList.add(tbmNewsTags);
        tbmNewsTags=new TbmNewsTags();
        tbmNewsTags.setNewsId(7L);
        tbmNewsTags.setId(7L);
        tbmNewsTags.setBusinessId("7");
        tagsList.add(tbmNewsTags);

        return tagsList;
    }

    public List<TbmEventTags> createEventTags() {
        List<TbmEventTags> eventTags = new ArrayList<>();
        TbmEventTags  tbmEventTags=new TbmEventTags();
        tbmEventTags.setId(5L);
        tbmEventTags.setNewsId(5L);
        tbmEventTags.setBusinessId("5");
        eventTags.add(tbmEventTags);
        return eventTags;
    }

    /**
     * 输出的结果 
     * TbmNewsTags(id=5, newsId=5, registerTagId=null, categoryCode=null, categoryName=null, tagName=null, tagWeight=null, businessId=5, businessCode=null, matchKey=null, frequency=null, nedType=null, main=null, updateTime=null, createTime=null, aiCreate=null, isDelete=null)
     * @param args
     */
    public static void main(String[] args) {
        EventTagsRuleMappingUtil eventTagsRuleMappingUtil = new EventTagsRuleMappingUtil();
        List<TbmNewsTags> tagsList = eventTagsRuleMappingUtil.createNewsTags();
        List<TbmEventTags> eventTags = eventTagsRuleMappingUtil.createEventTags();
        eventTagsRuleMappingUtil.mergeEventAndNewsTags(tagsList, eventTags);
    }
    //
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道阻且长-行则将至-行而不辍-未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值