Java 8 中的 Stream API 可以使用 map()
和 flatMap()
方法来进行树型查询。
map()
方法可以将一个对象转换为另一个对象,而 flatMap()
方法则可以将一个对象转换为一个流,并将多个流合并成一个流。
例如,假设你有一个类 Employee
和一个类 Department
,其中员工对象包含一个 department
字段,表示员工所在的部门。你可以使用 flatMap()
方法来获取每个部门中的所有员工:
List<Employee> employees = ...;
List<Employee> result = departments.stream()
.flatMap(department -> department.getEmployees().stream())
.collect(Collectors.toList());
你也可以使用 map()
方法来获取员工所在部门的名称:
List<String> result = employees.stream()
.map(employee -> employee.getDepartment().getName())
.collect(Collectors.toList());
希望这对你有帮助!