栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

根据实体类的某些List属性求交集 越多相似越靠前

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据实体类的某些List属性求交集 越多相似越靠前

public void sameSort(TreeMap sms, List trades, String str, String keyType) {
    if (StrUtil.isEmpty(str)) return;
    Map srcs = convertListToMap(trades, keyType);

    Set sets = Sets.newHashSet(str.split(","));
    for (Long key : srcs.keySet()) {
        Set sets2 = new HashSet<>();
        if ("functionId".equals(keyType)) {
            sets2 = Sets.newHashSet(srcs.get(key).getFunctionIds().split(","));
        } else if ("consumerBenefit".equals(keyType)) {
            sets2 = Sets.newHashSet(srcs.get(key).getConsumerBenefitIds().split(","));
        } else if ("incis".equals(keyType)) {
            sets2 = Sets.newHashSet(srcs.get(key).getInciIds().split(","));
        }
        Sets.SetView intersection = Sets.intersection(sets, sets2);
        int n = intersection.size();
        if (n > 0) {
            List allList;
            if (sms.get(n) == null) {
                allList = new ArrayList<>();
                sms.put(n, allList);
            } else {
                allList = sms.get(n);
            }
            allList.add(srcs.get(key));
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/693068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号