【发布时间】:2016-03-28 20:54:49
【问题描述】:
我有一个Person 对象的集合:。
public class Person {
String name;
ChildrenListHolder childrenListHolder;
}
public class ChildrenListHolder {
List<Children> children;
}
public class Children {
String childrensName;
}
(实体结构由第三方给出。)
现在,我需要一个 Map<String,List<Person>>childrensName -> 人员列表
例如(简体):
Person father: {name: "John", childrensListHolder -> {"Lisa", "Jimmy"}}
Person mother: {name: "Clara", childrensListHolder -> {"Lisa", "Paul"}}
Person george: {name: "George", childrensListHold -> "Paul"}}
我需要的地图是
Map<String, List<Person>> map: {"Lisa" -> {father, mother},
"Jimmy" -> {father},
"Paul" -> {mother, george}}
我可以用一堆 for 和 if 来做到这一点。但是我怎样才能使用流和收集器来做到这一点。我尝试了很多方法,但我无法得到预期的结果。 TIA。
【问题讨论】:
标签: java java-8 java-stream collectors