JDK1.8 炫酷写法(filter、map、peek等) 总有一款适合你

设置id不在ids数组中的对象的order_no为上一个对象的order_no

List<ProductIndustryBean> collect = industryBeans.stream().filter(item -> !Arrays.asList(ids).contains(item.getIndustry_id()))
						.peek(item -> {
							item.setOrder_no(productIndustryBean.getOrder_no());
							BeanUtils.copyProperties(item, productIndustryBean);
						}).collect(Collectors.toList());

过滤集合result,过滤条件是result和集合productIndustryBeanList没有相同的industry_id

List<ProductIndustryBean> industryBeans = result.stream().filter(item ->
				!productIndustryBeanList.stream().map(ProductIndustryBean::getIndustry_id).collect(Collectors.toList()).contains(item.getIndustry_id()))
				.collect(Collectors.toList());

另外一种写法

List<ProductIndustryBean> collect = result.stream().filter(industry -> productIndustryBeanList.stream().noneMatch(bean ->
				Objects.equals(industry.getIndustry_id(), bean.getIndustry_id()))).collect(Collectors.toList());

根据集合productIndustryBeanList的order_no属性进行排序并去重(利用Comparator和Set)

ArrayList<ProductIndustryBean> collect = productIndustryBeanList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
				new TreeSet<>(Comparator.comparing(ProductIndustryBean::getOrder_no))), ArrayList::new));

获取集合productIndustryBeanList的不重复的industry_name(利用distinct())

List<String> collect = beanList.stream().map(ProductIndustryBean::getIndustry_name).distinct().collect(Collectors.toList());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值