[Java] 数据库集合返回一个 DTO 的集合。使用 Stream Group by 多个字段拼接进行分组,其中有需要根据 6 个字段进行分组的,有需要根据 4 个字段进行分组的,怎么比较‘优雅’的实现。不采用 SQL 里面分组是业务需要。

比如 users.stream().collect(Collectors.groupingBy(u->u.getEdu + “” + u->u.getCity + “” + u->u.getCountry));
users.stream().collect(Collectors.groupingBy(u->u.getEdu + “” + u->u.getCity + “” + u->u.getCountry +u->.getGender));
怎么使用函数封装 groupingBy 里面的条件比较好,因为除了里面拼接条件有不一样,其他都一样,(只是单纯讨论,看看除了用两个 Stream 写之外有没有别的方式,用一个 Stream 然后 groupBy 一个 Function )

发表回复

您的电子邮箱地址不会被公开。