我有以下数据结构 -
每个学生都有一个州列表,每个州都有一个城市列表。
但这并没有给我想要的结果。
每个学生都有一个州列表,每个州都有一个城市列表。
public class Student {
private int id;
private String name;
private List<State> states = new ArrayList<>();
}
public class State {
private int id;
private String name;
private List<City> Cities = new ArrayList<>();
}
public class City {
private int id;
private String name;
}
我希望获取以下内容。
Map<String, Students> citiesIdsToStudensList;
我写下了以下内容
Map<Integer, List<Integer>> statesToStudentsMap = students.stream()
.flatMap(student -> student.getStates().stream())
.flatMap(state -> state.getCities().stream())
.collect(Collectors.groupingBy(City::getId, Collectors.mapping(x -> x.getId(), Collectors.toList())));
但这并没有给我想要的结果。