设置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());