欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 记录java常用方法

记录java常用方法

2025/2/24 17:01:54 来源:https://blog.csdn.net/weixin_44874132/article/details/145276704  浏览:    关键词:记录java常用方法

记录java常用方法

1.取两个集合的差集

public class StreamApiTest {public static void main(String[] args) {List<MktCamCustDetail> batchPos = Arrays.asList(new MktCamCustDetail("123456", 123456L, "张三"),new MktCamCustDetail("345678", 345678L, "王五"),new MktCamCustDetail("234567", 234567L, "赵六"),new MktCamCustDetail("123456", 123456L, "张三"));// 从 batchPos 中提取 objId 列表,去重后直接用于查询List<MktCamCustDetail> mktCamCustDetailList = Optional.ofNullable(batchPos).orElse(Collections.emptyList()) // 防止 batchPos 为 null.stream().map(MktCamCustDetail::getObjId).filter(Objects::nonNull) // 避免包含 null 的 objId.distinct().collect(Collectors.collectingAndThen(Collectors.toList(), StreamApiTest::getMktCamCustDetails));// 取读取到的数据与数据库中已存在的资产的差集,即新增的资产List<MktCamCustDetail> newMktCamCustDetailList = batchPos.stream().filter(m -> mktCamCustDetailList.stream().noneMatch(m2 -> m2.getObjId().equals(m.getObjId()))).collect(Collectors.toList());System.out.println(newMktCamCustDetailList);}/*** 根据 objIdList 查询 MktCamCustDetail 列表** @param objIdList* @return*/public static List<MktCamCustDetail> getMktCamCustDetails(List<String> objIdList) {List<MktCamCustDetail> list = Arrays.asList(new MktCamCustDetail("123456", 123456L, "张三"),new MktCamCustDetail("345678", 345678L, "王五"),// new MktCamCustDetail("234567", 234567L, "赵六"),new MktCamCustDetail("123456", 123456L, "张三"));// 如果 objIdList 为空,直接返回空列表,避免不必要的查询return list;}
}/*** MktCamCustDetail 实体类*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
class MktCamCustDetail {private String objId;private Long custId;private String custName;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词