首页 > 解决方案 > 是否可以自定义java流groupingBy的key?

问题描述

我想按姓氏对员工进行分组,Java Stream 的代码很简单。

employees.stream().groupingBy(Emplyee::getSurname);

它将返回带有HashMap结构的结果,键是姓氏。那么我可以自定义键的模式,例如添加如下所示的前缀字符串吗?

{
  "Surname=Smith":[...],
  "Surname=Jones":[...]
}

标签: java

解决方案


    List<Employee> employees = Arrays.asList(new Employee("a"), new Employee("a"), new Employee("b"));
    final String prefix = "Surname=";
    Map<String, List<Employee>> grouped = employees.stream().collect(Collectors.groupingBy(employee -> prefix + employee.getSurname()));

推荐阅读