java8使用Lambda表达式得到以逗号分隔的ids串

通过Java8的Stream API,使用Lambda表达式实现对数据集合的过滤、映射、去重操作,然后用`Collectors.joining(",")`方法生成以逗号分隔的唯一ID字符串。示例包括对`packList`、`courseCatalogList`和数字字符串`_subjectIds`的处理。" 137662603,11374257,创建响应式婚庆网站:前端课程设计实践,"['前端开发', 'HTML', 'CSS', 'Web设计', '学习资源', '技术交流']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String courseIds = packList.stream()
      .filter(e -> e.getCourse() != null)
      .map(PackageCourse::getCourseId).map(String::valueOf).distinct()
        .collect(joining(","));

解释:

首先将packList流化,只有获取stream后才能进行后边的操作,

filter过滤,如果每次循环出来的list中的PackageCourse.getCourse()不为空,获取getCourseId,去重,并以逗号分隔。

------------------------------------------------------------------------------------------------------------------------

String courseIds = courseCatalogList.stream().map(e -> e.getCourseId().toString()).distinct().collect(Collectors.joining(","));

解释:

遍历list,得到一个courseId不重复的以逗号分隔的字符串。

------------------------------------------------------------------------------------------------------------------------

String _subjectIds = (String)userMap.get("subjectIds");

subjectIds = Stream.of(_subjectIds.split(",")) .filter(StringUtils::isNumber).distinct().collect(Collectors.joining(","));

解释:

得到一个subjectIds不重复并且是数字的以逗号分隔的字符串。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值