Map<String, List<Employee>> map = employees.stream().collect(Collectors.groupingBy(Employee::getCit
时间: 2024-09-11 22:17:15 浏览: 82
这是一个Java编程中的示例,使用了Stream API来对`List<Employee>`集合进行操作。`Map<String, List<Employee>>`表示一个键值对的映射,其中键是通过`Employee`对象的`getCities()`方法返回的字符串(通常是员工所在的城市名),值是一个包含该城市所有员工的列表。
`employees.stream()`首先将`List<Employee>`转换为流(Stream),然后`collect(Collectors.groupingBy(Employee::getCities))`应用了一个收集器,它按照每个员工的城市进行分组,将相同城市的员工收集到一起。`Employee::getCities`是一个方法引用,它代表获取每个员工的城市信息作为键。
举个例子,如果你有如下的Employee对象列表:
```java
List<Employee> employees = Arrays.asList(
new Employee("John", "New York"),
new Employee("Jane", "New York"),
new Employee("Mike", "Chicago"),
new Employee("Alice", "Chicago")
);
```
经过这样的处理后,map将会是:
```java
{
"New York": [new Employee("John", "New York"), new Employee("Jane", "New York")],
"Chicago": [new Employee("Mike", "Chicago"), new Employee("Alice", "Chicago")]
}
```
阅读全文