博客
关于我
List根据对象的属性过滤、多个属性分组
阅读量:796 次
发布时间:2023-02-05

本文共 2076 字,大约阅读时间需要 6 分钟。

package com.zhifeng.sale;import com.zhifeng.sale.business.dto.SaleSettlementDetailDTO;import org.junit.Test;import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class StockZoneTest {    @Test    public void zoneTest(){        List
settlementDetailDTOS = new ArrayList<>(); SaleSettlementDetailDTO s1 = new SaleSettlementDetailDTO(); s1.setStockZoneId("1"); s1.setSettlementFeeType("01"); s1.setSettlementPrice(new BigDecimal(100)); SaleSettlementDetailDTO s2 = new SaleSettlementDetailDTO(); s2.setStockZoneId("1"); s2.setSettlementFeeType("02"); s2.setSettlementPrice(new BigDecimal(100)); SaleSettlementDetailDTO s3 = new SaleSettlementDetailDTO(); s3.setStockZoneId("2"); s3.setSettlementFeeType("01"); s3.setSettlementPrice(new BigDecimal(200)); SaleSettlementDetailDTO s4 = new SaleSettlementDetailDTO(); s4.setStockZoneId("2"); s4.setSettlementFeeType("02"); s4.setSettlementPrice(new BigDecimal(200)); SaleSettlementDetailDTO s5 = new SaleSettlementDetailDTO(); s5.setStockZoneId("2"); s5.setSettlementFeeType("02"); s5.setSettlementPrice(new BigDecimal(500)); settlementDetailDTOS.add(s1); settlementDetailDTOS.add(s2); settlementDetailDTOS.add(s3); settlementDetailDTOS.add(s4); settlementDetailDTOS.add(s5); Map
> collect1 = settlementDetailDTOS.stream() .filter(item -> item.getSettlementFeeType().equals("02")) .collect(Collectors.groupingBy(SaleSettlementDetailDTO::getStockZoneId)); Map
>> collect = settlementDetailDTOS.stream() .filter(item -> item.getSettlementFeeType().equals("02")) .collect(Collectors.groupingBy(SaleSettlementDetailDTO::getSettlementFeeType , Collectors.groupingBy(SaleSettlementDetailDTO::getStockZoneId))); System.out.println(collect1); }}

 

转载地址:http://jkufk.baihongyu.com/

你可能感兴趣的文章
Linux系统查看系统信息命令(比较全)
查看>>
Linux系统环境变量和别名设置(永久生效和临时生效)
查看>>
Linux系统用户和权限管理
查看>>
linux系统监控与硬盘分区/格式化/文件系统管理
查看>>
Linux系统突然所有命令都失效了,显示bash: xxxxx: command not found...
查看>>
Linux系统管理期末考试小结
查看>>
Linux系统终端与正确关机
查看>>
Linux系统编程:深入理解计算机软硬件体系和架构
查看>>
Linux系统调优实战
查看>>
Linux系统调用分析
查看>>
Linux系统通过netstat查看网络状态、端口状态
查看>>
Linux系统配置静态IP地址步骤
查看>>
linux系统重命名文件名,但文件名有空格如何处理
查看>>
linux线程
查看>>
linux线程同步的含义,Linux线程同步——条件变量
查看>>
Linux线程编程之生产者消费者问题
查看>>
linux终端 知乎,为 Linux 爱好者打造的极简 Mac 终端 | Linux 中国
查看>>
Linux经常使用命令(一) - ls
查看>>
Linux经常使用命令(十一) - more
查看>>
Linux经常使用命令(十二) - less
查看>>